diff --git a/operators/CMakeLists.txt b/operators/CMakeLists.txt index e197bb70ce2566ce22d716e42ed7966cbf01a1bd..93704b9baa4fd000ce3eaaf3d62f1d9060e1e22d 100644 --- a/operators/CMakeLists.txt +++ b/operators/CMakeLists.txt @@ -1,10 +1,7 @@ -add_compile_options( "-Wno-shadow" ) if(NOT WALBERLA_DOUBLE_ACCURACY) add_compile_options( "-Wno-float-conversion" ) endif() -add_subdirectory(curl_curl) -add_subdirectory(diffusion) +add_subdirectory(curl_curl_plus_mass) add_subdirectory(div_k_grad) -add_subdirectory(mass) diff --git a/operators/curl_curl_plus_mass/CMakeLists.txt b/operators/curl_curl_plus_mass/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..d060204ea2ecd810ba63c07803f0ce9f2b713b0f --- /dev/null +++ b/operators/curl_curl_plus_mass/CMakeLists.txt @@ -0,0 +1,42 @@ +add_library( opgen-curl_curl_plus_mass + + N1E1ElementwiseCurlCurlPlusMass.cpp + N1E1ElementwiseCurlCurlPlusMass.hpp +) + +if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY) + target_sources(opgen-curl_curl_plus_mass PRIVATE + + avx/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp + avx/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp + noarch/N1E1ElementwiseCurlCurlPlusMass_toMatrix_macro_3D.cpp + ) + + set_source_files_properties( + + avx/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp + avx/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp + + PROPERTIES COMPILE_OPTIONS ${HYTEG_COMPILER_NATIVE_FLAGS} + ) +else() + if(HYTEG_BUILD_WITH_AVX AND NOT WALBERLA_DOUBLE_ACCURACY) + message(WARNING "AVX vectorization only available in double precision. Using scalar kernels.") + endif() + + target_sources(opgen-curl_curl_plus_mass PRIVATE + + noarch/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp + noarch/N1E1ElementwiseCurlCurlPlusMass_toMatrix_macro_3D.cpp + noarch/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp + ) +endif() + +if (HYTEG_BUILD_WITH_PETSC) + target_link_libraries(opgen-curl_curl_plus_mass PUBLIC PETSc::PETSc) +endif () +if (WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT) + target_compile_features(opgen-curl_curl_plus_mass PUBLIC cxx_std_23) +else () + target_compile_features(opgen-curl_curl_plus_mass PUBLIC cxx_std_17) +endif () diff --git a/operators/curl_curl_plus_mass/N1E1ElementwiseCurlCurlPlusMass.cpp b/operators/curl_curl_plus_mass/N1E1ElementwiseCurlCurlPlusMass.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e288f1ce3177af62124a236e17f588077b971500 --- /dev/null +++ b/operators/curl_curl_plus_mass/N1E1ElementwiseCurlCurlPlusMass.cpp @@ -0,0 +1,365 @@ +/* +* 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 "N1E1ElementwiseCurlCurlPlusMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +N1E1ElementwiseCurlCurlPlusMass::N1E1ElementwiseCurlCurlPlusMass( const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P1Function< walberla::float64 >& _alpha, + const P1Function< walberla::float64 >& _beta ) +: Operator( storage, minLevel, maxLevel ) +, alpha( _alpha ) +, beta( _beta ) +{} + +void N1E1ElementwiseCurlCurlPlusMass::apply( const n1e1::N1E1VectorFunction< walberla::float64 >& src, + const n1e1::N1E1VectorFunction< walberla::float64 >& 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 ); + alpha.communicate< Face, Cell >( level ); + alpha.communicate< Edge, Cell >( level ); + alpha.communicate< Vertex, Cell >( level ); + beta.communicate< Face, Cell >( level ); + beta.communicate< Edge, Cell >( level ); + beta.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< walberla::float64 >( 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 + walberla::float64* _data_src = cell.getData( src.getDoFs()->getCellDataID() )->getPointer( level ); + walberla::float64* _data_dst = cell.getData( dst.getDoFs()->getCellDataID() )->getPointer( level ); + walberla::float64* _data_alpha = cell.getData( alpha.getCellDataID() )->getPointer( level ); + walberla::float64* _data_beta = cell.getData( beta.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. + edgedof::macrocell::setBoundaryToZero( level, cell, dst.getDoFs()->getCellDataID() ); + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); + + apply_macro_3D( + + _data_alpha, + _data_beta, + _data_dst, + _data_src, + 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 ); + this->timingTree_->stop( "post-communication" ); + } + else + { + WALBERLA_ABORT( "Not implemented." ); + } + + this->stopTiming( "apply" ); +} +void N1E1ElementwiseCurlCurlPlusMass::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const n1e1::N1E1VectorFunction< idx_t >& src, + const n1e1::N1E1VectorFunction< 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" ); + alpha.communicate< Face, Cell >( level ); + alpha.communicate< Edge, Cell >( level ); + alpha.communicate< Vertex, Cell >( level ); + beta.communicate< Face, Cell >( level ); + beta.communicate< Edge, Cell >( level ); + beta.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_src = cell.getData( src.getDoFs()->getCellDataID() )->getPointer( level ); + idx_t* _data_dst = cell.getData( dst.getDoFs()->getCellDataID() )->getPointer( level ); + walberla::float64* _data_alpha = cell.getData( alpha.getCellDataID() )->getPointer( level ); + walberla::float64* _data_beta = cell.getData( beta.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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); + + toMatrix_macro_3D( + + _data_alpha, + _data_beta, + _data_dst, + _data_src, + cell, + level, + 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( alpha, level, communication::syncDirection_t::LOW2HIGH ); + communication::syncFunctionBetweenPrimitives( beta, level, communication::syncDirection_t::LOW2HIGH ); + this->timingTree_->stop( "pre-communication" ); + + WALBERLA_ABORT( "Not implemented." ); + } + this->stopTiming( "toMatrix" ); +} +void N1E1ElementwiseCurlCurlPlusMass::computeInverseDiagonalOperatorValues() +{ + this->startTiming( "computeInverseDiagonalOperatorValues" ); + + if ( invDiag_ == nullptr ) + { + invDiag_ = std::make_shared< n1e1::N1E1VectorFunction< walberla::float64 > >( + "inverse diagonal entries", storage_, minLevel_, maxLevel_ ); + } + + for ( uint_t level = minLevel_; level <= maxLevel_; level++ ) + { + invDiag_->setToZero( level ); + + if ( storage_->hasGlobalCells() ) + { + this->timingTree_->start( "pre-communication" ); + alpha.communicate< Face, Cell >( level ); + alpha.communicate< Edge, Cell >( level ); + alpha.communicate< Vertex, Cell >( level ); + beta.communicate< Face, Cell >( level ); + beta.communicate< Edge, Cell >( level ); + beta.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 + walberla::float64* _data_invDiag_ = cell.getData( ( *invDiag_ ).getDoFs()->getCellDataID() )->getPointer( level ); + walberla::float64* _data_alpha = cell.getData( alpha.getCellDataID() )->getPointer( level ); + walberla::float64* _data_beta = cell.getData( beta.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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); + + computeInverseDiagonalOperatorValues_macro_3D( + + _data_alpha, + _data_beta, + _data_invDiag_, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_0comp2, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_1comp2, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + macro_vertex_coord_id_2comp2, + macro_vertex_coord_id_3comp0, + macro_vertex_coord_id_3comp1, + macro_vertex_coord_id_3comp2, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); + } + + // Push result to lower-dimensional primitives + // + this->timingTree_->start( "post-communication" ); + // Note: We could avoid communication here by implementing the apply() also for the respective + // lower dimensional primitives! + ( *invDiag_ ).getDoFs()->communicateAdditively< Cell, Face >( level ); + ( *invDiag_ ).getDoFs()->communicateAdditively< Cell, Edge >( level ); + this->timingTree_->stop( "post-communication" ); + } + else + { + this->timingTree_->start( "pre-communication" ); + communication::syncFunctionBetweenPrimitives( alpha, level, communication::syncDirection_t::LOW2HIGH ); + communication::syncFunctionBetweenPrimitives( beta, level, communication::syncDirection_t::LOW2HIGH ); + this->timingTree_->stop( "pre-communication" ); + + WALBERLA_ABORT( "Not implemented." ); + } + + ( *invDiag_ ).getDoFs()->invertElementwise( level ); + } + + this->stopTiming( "computeInverseDiagonalOperatorValues" ); +} +std::shared_ptr< n1e1::N1E1VectorFunction< walberla::float64 > > N1E1ElementwiseCurlCurlPlusMass::getInverseDiagonalValues() const +{ + return invDiag_; +} + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/curl_curl_plus_mass/N1E1ElementwiseCurlCurlPlusMass.hpp b/operators/curl_curl_plus_mass/N1E1ElementwiseCurlCurlPlusMass.hpp new file mode 100644 index 0000000000000000000000000000000000000000..fe8cf1bcd1d189bf1c4d01a1897675f49ec742a6 --- /dev/null +++ b/operators/curl_curl_plus_mass/N1E1ElementwiseCurlCurlPlusMass.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/n1e1functionspace/N1E1MacroCell.hpp" +#include "hyteg/n1e1functionspace/N1E1VectorFunction.hpp" +#include "hyteg/operators/Operator.hpp" +#include "hyteg/p1functionspace/P1Function.hpp" +#include "hyteg/primitivestorage/PrimitiveStorage.hpp" +#include "hyteg/solvers/Smoothables.hpp" +#include "hyteg/sparseassembly/SparseMatrixProxy.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +/// Linear combination of double curl and mass. +/// +/// Geometry map: IdentityMap +/// +/// Weak formulation +/// +/// u: trial function (space: N1E1) +/// v: test function (space: N1E1) +/// α: coefficient (space: Lagrange, degree: 1) +/// β: coefficient (space: Lagrange, degree: 1) +/// +/// ∫ α curl u · curl v + ∫ β u · v +/// +/// Strong formulation +/// +/// α curl curl u + β u + +class N1E1ElementwiseCurlCurlPlusMass +: public Operator< n1e1::N1E1VectorFunction< walberla::float64 >, n1e1::N1E1VectorFunction< walberla::float64 > >, + public OperatorWithInverseDiagonal< n1e1::N1E1VectorFunction< walberla::float64 > > +{ + public: + N1E1ElementwiseCurlCurlPlusMass( const std::shared_ptr< PrimitiveStorage >& storage, + size_t minLevel, + size_t maxLevel, + const P1Function< walberla::float64 >& _alpha, + const P1Function< walberla::float64 >& _beta ); + + void apply( const n1e1::N1E1VectorFunction< walberla::float64 >& src, + const n1e1::N1E1VectorFunction< walberla::float64 >& dst, + uint_t level, + DoFType flag, + UpdateType updateType = Replace ) const; + + void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const n1e1::N1E1VectorFunction< idx_t >& src, + const n1e1::N1E1VectorFunction< idx_t >& dst, + uint_t level, + DoFType flag ) const; + + void computeInverseDiagonalOperatorValues(); + + std::shared_ptr< n1e1::N1E1VectorFunction< walberla::float64 > > getInverseDiagonalValues() const; + + protected: + private: + /// Kernel type: apply + /// - quadrature rule: Xiao-Gimbutas 2 | points: 4, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 228 320 0 0 0 0 0 0 + void apply_macro_3D( walberla::float64* RESTRICT _data_alpha, + walberla::float64* RESTRICT _data_beta, + walberla::float64* RESTRICT _data_dst, + walberla::float64* RESTRICT _data_src, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; + /// Kernel type: toMatrix + /// - quadrature rule: Xiao-Gimbutas 2 | points: 4, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 192 356 0 0 0 0 0 3 + void toMatrix_macro_3D( walberla::float64* RESTRICT _data_alpha, + walberla::float64* RESTRICT _data_beta, + idx_t* RESTRICT _data_dst, + idx_t* RESTRICT _data_src, + const Cell& cell, + const uint_t level, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 macro_vertex_coord_id_3comp2, + std::shared_ptr< SparseMatrixProxy > mat, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; + /// Kernel type: computeInverseDiagonalOperatorValues + /// - quadrature rule: Xiao-Gimbutas 2 | points: 4, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 78 104 0 0 0 0 0 0 + void computeInverseDiagonalOperatorValues_macro_3D( walberla::float64* RESTRICT _data_alpha, + walberla::float64* RESTRICT _data_beta, + walberla::float64* RESTRICT _data_invDiag_, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; + + std::shared_ptr< n1e1::N1E1VectorFunction< walberla::float64 > > invDiag_; + P1Function< walberla::float64 > alpha; + P1Function< walberla::float64 > beta; +}; + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/curl_curl_plus_mass/avx/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp b/operators/curl_curl_plus_mass/avx/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..043c0a889e024d0ab9170100973cc230a0f4628e --- /dev/null +++ b/operators/curl_curl_plus_mass/avx/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp @@ -0,0 +1,1590 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#include "../N1E1ElementwiseCurlCurlPlusMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void N1E1ElementwiseCurlCurlPlusMass::apply_macro_3D( walberla::float64 * RESTRICT _data_alpha, walberla::float64 * RESTRICT _data_beta, walberla::float64 * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const +{ + { + const walberla::float64 _data_q_w [] = {0.016934591412496779, 0.046462929447761363, 0.05008682322282932, 0.053182322583579168}; + + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); + { + /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_UP [] = {1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP))*0.0015946483738042789), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP))*0.019180701709517984), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP))*0.024315138068613663), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP))*0.21372269856705545), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP))*0.032410690545436105), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP))*0.6610455395250987), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP))*0.12476568502206307), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_1 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_2 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_3 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_4 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_src[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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_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_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_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_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q],_data_curl_curl_det_0_0_WHITE_UP[21*q],_data_curl_curl_det_0_0_WHITE_UP[21*q],_data_curl_curl_det_0_0_WHITE_UP[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q],_data_mass_det_0_0_WHITE_UP[21*q],_data_mass_det_0_0_WHITE_UP[21*q],_data_mass_det_0_0_WHITE_UP[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 1],_data_curl_curl_det_0_0_WHITE_UP[21*q + 1],_data_curl_curl_det_0_0_WHITE_UP[21*q + 1],_data_curl_curl_det_0_0_WHITE_UP[21*q + 1])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 1],_data_mass_det_0_0_WHITE_UP[21*q + 1],_data_mass_det_0_0_WHITE_UP[21*q + 1],_data_mass_det_0_0_WHITE_UP[21*q + 1]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 2],_data_curl_curl_det_0_0_WHITE_UP[21*q + 2],_data_curl_curl_det_0_0_WHITE_UP[21*q + 2],_data_curl_curl_det_0_0_WHITE_UP[21*q + 2])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 2],_data_mass_det_0_0_WHITE_UP[21*q + 2],_data_mass_det_0_0_WHITE_UP[21*q + 2],_data_mass_det_0_0_WHITE_UP[21*q + 2]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 3],_data_curl_curl_det_0_0_WHITE_UP[21*q + 3],_data_curl_curl_det_0_0_WHITE_UP[21*q + 3],_data_curl_curl_det_0_0_WHITE_UP[21*q + 3])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 3],_data_mass_det_0_0_WHITE_UP[21*q + 3],_data_mass_det_0_0_WHITE_UP[21*q + 3],_data_mass_det_0_0_WHITE_UP[21*q + 3]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 4],_data_curl_curl_det_0_0_WHITE_UP[21*q + 4],_data_curl_curl_det_0_0_WHITE_UP[21*q + 4],_data_curl_curl_det_0_0_WHITE_UP[21*q + 4])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 4],_data_mass_det_0_0_WHITE_UP[21*q + 4],_data_mass_det_0_0_WHITE_UP[21*q + 4],_data_mass_det_0_0_WHITE_UP[21*q + 4]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 5],_data_curl_curl_det_0_0_WHITE_UP[21*q + 5],_data_curl_curl_det_0_0_WHITE_UP[21*q + 5],_data_curl_curl_det_0_0_WHITE_UP[21*q + 5])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 5],_data_mass_det_0_0_WHITE_UP[21*q + 5],_data_mass_det_0_0_WHITE_UP[21*q + 5],_data_mass_det_0_0_WHITE_UP[21*q + 5]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 6],_data_curl_curl_det_0_0_WHITE_UP[21*q + 6],_data_curl_curl_det_0_0_WHITE_UP[21*q + 6],_data_curl_curl_det_0_0_WHITE_UP[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 6],_data_mass_det_0_0_WHITE_UP[21*q + 6],_data_mass_det_0_0_WHITE_UP[21*q + 6],_data_mass_det_0_0_WHITE_UP[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 7],_data_curl_curl_det_0_0_WHITE_UP[21*q + 7],_data_curl_curl_det_0_0_WHITE_UP[21*q + 7],_data_curl_curl_det_0_0_WHITE_UP[21*q + 7])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 7],_data_mass_det_0_0_WHITE_UP[21*q + 7],_data_mass_det_0_0_WHITE_UP[21*q + 7],_data_mass_det_0_0_WHITE_UP[21*q + 7]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 8],_data_curl_curl_det_0_0_WHITE_UP[21*q + 8],_data_curl_curl_det_0_0_WHITE_UP[21*q + 8],_data_curl_curl_det_0_0_WHITE_UP[21*q + 8])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 8],_data_mass_det_0_0_WHITE_UP[21*q + 8],_data_mass_det_0_0_WHITE_UP[21*q + 8],_data_mass_det_0_0_WHITE_UP[21*q + 8]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 9],_data_curl_curl_det_0_0_WHITE_UP[21*q + 9],_data_curl_curl_det_0_0_WHITE_UP[21*q + 9],_data_curl_curl_det_0_0_WHITE_UP[21*q + 9])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 9],_data_mass_det_0_0_WHITE_UP[21*q + 9],_data_mass_det_0_0_WHITE_UP[21*q + 9],_data_mass_det_0_0_WHITE_UP[21*q + 9]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 10],_data_curl_curl_det_0_0_WHITE_UP[21*q + 10],_data_curl_curl_det_0_0_WHITE_UP[21*q + 10],_data_curl_curl_det_0_0_WHITE_UP[21*q + 10])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 10],_data_mass_det_0_0_WHITE_UP[21*q + 10],_data_mass_det_0_0_WHITE_UP[21*q + 10],_data_mass_det_0_0_WHITE_UP[21*q + 10]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 11],_data_curl_curl_det_0_0_WHITE_UP[21*q + 11],_data_curl_curl_det_0_0_WHITE_UP[21*q + 11],_data_curl_curl_det_0_0_WHITE_UP[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 11],_data_mass_det_0_0_WHITE_UP[21*q + 11],_data_mass_det_0_0_WHITE_UP[21*q + 11],_data_mass_det_0_0_WHITE_UP[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 12],_data_curl_curl_det_0_0_WHITE_UP[21*q + 12],_data_curl_curl_det_0_0_WHITE_UP[21*q + 12],_data_curl_curl_det_0_0_WHITE_UP[21*q + 12])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 12],_data_mass_det_0_0_WHITE_UP[21*q + 12],_data_mass_det_0_0_WHITE_UP[21*q + 12],_data_mass_det_0_0_WHITE_UP[21*q + 12]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 13],_data_curl_curl_det_0_0_WHITE_UP[21*q + 13],_data_curl_curl_det_0_0_WHITE_UP[21*q + 13],_data_curl_curl_det_0_0_WHITE_UP[21*q + 13])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 13],_data_mass_det_0_0_WHITE_UP[21*q + 13],_data_mass_det_0_0_WHITE_UP[21*q + 13],_data_mass_det_0_0_WHITE_UP[21*q + 13]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 14],_data_curl_curl_det_0_0_WHITE_UP[21*q + 14],_data_curl_curl_det_0_0_WHITE_UP[21*q + 14],_data_curl_curl_det_0_0_WHITE_UP[21*q + 14])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 14],_data_mass_det_0_0_WHITE_UP[21*q + 14],_data_mass_det_0_0_WHITE_UP[21*q + 14],_data_mass_det_0_0_WHITE_UP[21*q + 14]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 15],_data_curl_curl_det_0_0_WHITE_UP[21*q + 15],_data_curl_curl_det_0_0_WHITE_UP[21*q + 15],_data_curl_curl_det_0_0_WHITE_UP[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 15],_data_mass_det_0_0_WHITE_UP[21*q + 15],_data_mass_det_0_0_WHITE_UP[21*q + 15],_data_mass_det_0_0_WHITE_UP[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 16],_data_curl_curl_det_0_0_WHITE_UP[21*q + 16],_data_curl_curl_det_0_0_WHITE_UP[21*q + 16],_data_curl_curl_det_0_0_WHITE_UP[21*q + 16])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 16],_data_mass_det_0_0_WHITE_UP[21*q + 16],_data_mass_det_0_0_WHITE_UP[21*q + 16],_data_mass_det_0_0_WHITE_UP[21*q + 16]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 17],_data_curl_curl_det_0_0_WHITE_UP[21*q + 17],_data_curl_curl_det_0_0_WHITE_UP[21*q + 17],_data_curl_curl_det_0_0_WHITE_UP[21*q + 17])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 17],_data_mass_det_0_0_WHITE_UP[21*q + 17],_data_mass_det_0_0_WHITE_UP[21*q + 17],_data_mass_det_0_0_WHITE_UP[21*q + 17]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 18],_data_curl_curl_det_0_0_WHITE_UP[21*q + 18],_data_curl_curl_det_0_0_WHITE_UP[21*q + 18],_data_curl_curl_det_0_0_WHITE_UP[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 18],_data_mass_det_0_0_WHITE_UP[21*q + 18],_data_mass_det_0_0_WHITE_UP[21*q + 18],_data_mass_det_0_0_WHITE_UP[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 19],_data_curl_curl_det_0_0_WHITE_UP[21*q + 19],_data_curl_curl_det_0_0_WHITE_UP[21*q + 19],_data_curl_curl_det_0_0_WHITE_UP[21*q + 19])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 19],_data_mass_det_0_0_WHITE_UP[21*q + 19],_data_mass_det_0_0_WHITE_UP[21*q + 19],_data_mass_det_0_0_WHITE_UP[21*q + 19]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 20],_data_curl_curl_det_0_0_WHITE_UP[21*q + 20],_data_curl_curl_det_0_0_WHITE_UP[21*q + 20],_data_curl_curl_det_0_0_WHITE_UP[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 20],_data_mass_det_0_0_WHITE_UP[21*q + 20],_data_mass_det_0_0_WHITE_UP[21*q + 20],_data_mass_det_0_0_WHITE_UP[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + 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_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_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_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_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_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_0_1,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_0_2,src_dof_0),_mm256_mul_pd(q_acc_1_2,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)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_3,src_dof_0),_mm256_mul_pd(q_acc_1_3,src_dof_1)),_mm256_mul_pd(q_acc_2_3,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)); + const __m256d elMatVec_4 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_4,src_dof_0),_mm256_mul_pd(q_acc_1_4,src_dof_1)),_mm256_mul_pd(q_acc_2_4,src_dof_2)),_mm256_mul_pd(q_acc_3_4,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)); + const __m256d elMatVec_5 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_5,src_dof_0),_mm256_mul_pd(q_acc_1_5,src_dof_1)),_mm256_mul_pd(q_acc_2_5,src_dof_2)),_mm256_mul_pd(q_acc_3_5,src_dof_3)),_mm256_mul_pd(q_acc_4_5,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_UP[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_UP[4*q] + beta_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[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 walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_DOWN [] = {1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN))*0.0015946483738042789), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN))*0.019180701709517984), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN))*0.024315138068613663), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN))*0.21372269856705545), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN))*0.032410690545436105), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN))*0.6610455395250987), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN))*0.12476568502206307), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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_src[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_1 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_2 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_3 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_4 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_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_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_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_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q],_data_curl_curl_det_0_0_WHITE_DOWN[21*q],_data_curl_curl_det_0_0_WHITE_DOWN[21*q],_data_curl_curl_det_0_0_WHITE_DOWN[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q],_data_mass_det_0_0_WHITE_DOWN[21*q],_data_mass_det_0_0_WHITE_DOWN[21*q],_data_mass_det_0_0_WHITE_DOWN[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 1],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 1],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 1],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 1])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 1],_data_mass_det_0_0_WHITE_DOWN[21*q + 1],_data_mass_det_0_0_WHITE_DOWN[21*q + 1],_data_mass_det_0_0_WHITE_DOWN[21*q + 1]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 2],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 2],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 2],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 2])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 2],_data_mass_det_0_0_WHITE_DOWN[21*q + 2],_data_mass_det_0_0_WHITE_DOWN[21*q + 2],_data_mass_det_0_0_WHITE_DOWN[21*q + 2]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 3],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 3],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 3],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 3])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 3],_data_mass_det_0_0_WHITE_DOWN[21*q + 3],_data_mass_det_0_0_WHITE_DOWN[21*q + 3],_data_mass_det_0_0_WHITE_DOWN[21*q + 3]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 4],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 4],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 4],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 4])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 4],_data_mass_det_0_0_WHITE_DOWN[21*q + 4],_data_mass_det_0_0_WHITE_DOWN[21*q + 4],_data_mass_det_0_0_WHITE_DOWN[21*q + 4]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 5],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 5],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 5],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 5])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 5],_data_mass_det_0_0_WHITE_DOWN[21*q + 5],_data_mass_det_0_0_WHITE_DOWN[21*q + 5],_data_mass_det_0_0_WHITE_DOWN[21*q + 5]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 6],_data_mass_det_0_0_WHITE_DOWN[21*q + 6],_data_mass_det_0_0_WHITE_DOWN[21*q + 6],_data_mass_det_0_0_WHITE_DOWN[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 7],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 7],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 7],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 7])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 7],_data_mass_det_0_0_WHITE_DOWN[21*q + 7],_data_mass_det_0_0_WHITE_DOWN[21*q + 7],_data_mass_det_0_0_WHITE_DOWN[21*q + 7]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 8],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 8],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 8],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 8])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 8],_data_mass_det_0_0_WHITE_DOWN[21*q + 8],_data_mass_det_0_0_WHITE_DOWN[21*q + 8],_data_mass_det_0_0_WHITE_DOWN[21*q + 8]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 9],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 9],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 9],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 9])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 9],_data_mass_det_0_0_WHITE_DOWN[21*q + 9],_data_mass_det_0_0_WHITE_DOWN[21*q + 9],_data_mass_det_0_0_WHITE_DOWN[21*q + 9]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 10],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 10],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 10],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 10])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 10],_data_mass_det_0_0_WHITE_DOWN[21*q + 10],_data_mass_det_0_0_WHITE_DOWN[21*q + 10],_data_mass_det_0_0_WHITE_DOWN[21*q + 10]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 11],_data_mass_det_0_0_WHITE_DOWN[21*q + 11],_data_mass_det_0_0_WHITE_DOWN[21*q + 11],_data_mass_det_0_0_WHITE_DOWN[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 12],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 12],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 12],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 12])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 12],_data_mass_det_0_0_WHITE_DOWN[21*q + 12],_data_mass_det_0_0_WHITE_DOWN[21*q + 12],_data_mass_det_0_0_WHITE_DOWN[21*q + 12]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 13],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 13],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 13],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 13])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 13],_data_mass_det_0_0_WHITE_DOWN[21*q + 13],_data_mass_det_0_0_WHITE_DOWN[21*q + 13],_data_mass_det_0_0_WHITE_DOWN[21*q + 13]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 14],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 14],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 14],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 14])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 14],_data_mass_det_0_0_WHITE_DOWN[21*q + 14],_data_mass_det_0_0_WHITE_DOWN[21*q + 14],_data_mass_det_0_0_WHITE_DOWN[21*q + 14]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 15],_data_mass_det_0_0_WHITE_DOWN[21*q + 15],_data_mass_det_0_0_WHITE_DOWN[21*q + 15],_data_mass_det_0_0_WHITE_DOWN[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 16],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 16],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 16],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 16])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 16],_data_mass_det_0_0_WHITE_DOWN[21*q + 16],_data_mass_det_0_0_WHITE_DOWN[21*q + 16],_data_mass_det_0_0_WHITE_DOWN[21*q + 16]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 17],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 17],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 17],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 17])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 17],_data_mass_det_0_0_WHITE_DOWN[21*q + 17],_data_mass_det_0_0_WHITE_DOWN[21*q + 17],_data_mass_det_0_0_WHITE_DOWN[21*q + 17]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 18],_data_mass_det_0_0_WHITE_DOWN[21*q + 18],_data_mass_det_0_0_WHITE_DOWN[21*q + 18],_data_mass_det_0_0_WHITE_DOWN[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 19],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 19],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 19],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 19])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 19],_data_mass_det_0_0_WHITE_DOWN[21*q + 19],_data_mass_det_0_0_WHITE_DOWN[21*q + 19],_data_mass_det_0_0_WHITE_DOWN[21*q + 19]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 20],_data_mass_det_0_0_WHITE_DOWN[21*q + 20],_data_mass_det_0_0_WHITE_DOWN[21*q + 20],_data_mass_det_0_0_WHITE_DOWN[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + 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_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_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_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_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_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_0_1,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_0_2,src_dof_0),_mm256_mul_pd(q_acc_1_2,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)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_3,src_dof_0),_mm256_mul_pd(q_acc_1_3,src_dof_1)),_mm256_mul_pd(q_acc_2_3,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)); + const __m256d elMatVec_4 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_4,src_dof_0),_mm256_mul_pd(q_acc_1_4,src_dof_1)),_mm256_mul_pd(q_acc_2_4,src_dof_2)),_mm256_mul_pd(q_acc_3_4,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)); + const __m256d elMatVec_5 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_5,src_dof_0),_mm256_mul_pd(q_acc_1_5,src_dof_1)),_mm256_mul_pd(q_acc_2_5,src_dof_2)),_mm256_mul_pd(q_acc_3_5,src_dof_3)),_mm256_mul_pd(q_acc_4_5,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatVec_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)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + const walberla::float64 src_dof_0 = _data_src[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 walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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 walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + } + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); + { + /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_UP [] = {1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP))*0.0015946483738042789), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP))*0.019180701709517984), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP))*0.024315138068613663), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP))*0.21372269856705545), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP))*0.032410690545436105), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP))*0.6610455395250987), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP))*0.12476568502206307), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_1 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_2 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_3 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_4 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_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_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_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_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q],_data_curl_curl_det_0_0_BLUE_UP[21*q],_data_curl_curl_det_0_0_BLUE_UP[21*q],_data_curl_curl_det_0_0_BLUE_UP[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q],_data_mass_det_0_0_BLUE_UP[21*q],_data_mass_det_0_0_BLUE_UP[21*q],_data_mass_det_0_0_BLUE_UP[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 1],_data_curl_curl_det_0_0_BLUE_UP[21*q + 1],_data_curl_curl_det_0_0_BLUE_UP[21*q + 1],_data_curl_curl_det_0_0_BLUE_UP[21*q + 1])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 1],_data_mass_det_0_0_BLUE_UP[21*q + 1],_data_mass_det_0_0_BLUE_UP[21*q + 1],_data_mass_det_0_0_BLUE_UP[21*q + 1]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 2],_data_curl_curl_det_0_0_BLUE_UP[21*q + 2],_data_curl_curl_det_0_0_BLUE_UP[21*q + 2],_data_curl_curl_det_0_0_BLUE_UP[21*q + 2])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 2],_data_mass_det_0_0_BLUE_UP[21*q + 2],_data_mass_det_0_0_BLUE_UP[21*q + 2],_data_mass_det_0_0_BLUE_UP[21*q + 2]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 3],_data_curl_curl_det_0_0_BLUE_UP[21*q + 3],_data_curl_curl_det_0_0_BLUE_UP[21*q + 3],_data_curl_curl_det_0_0_BLUE_UP[21*q + 3])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 3],_data_mass_det_0_0_BLUE_UP[21*q + 3],_data_mass_det_0_0_BLUE_UP[21*q + 3],_data_mass_det_0_0_BLUE_UP[21*q + 3]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 4],_data_curl_curl_det_0_0_BLUE_UP[21*q + 4],_data_curl_curl_det_0_0_BLUE_UP[21*q + 4],_data_curl_curl_det_0_0_BLUE_UP[21*q + 4])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 4],_data_mass_det_0_0_BLUE_UP[21*q + 4],_data_mass_det_0_0_BLUE_UP[21*q + 4],_data_mass_det_0_0_BLUE_UP[21*q + 4]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 5],_data_curl_curl_det_0_0_BLUE_UP[21*q + 5],_data_curl_curl_det_0_0_BLUE_UP[21*q + 5],_data_curl_curl_det_0_0_BLUE_UP[21*q + 5])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 5],_data_mass_det_0_0_BLUE_UP[21*q + 5],_data_mass_det_0_0_BLUE_UP[21*q + 5],_data_mass_det_0_0_BLUE_UP[21*q + 5]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 6],_data_curl_curl_det_0_0_BLUE_UP[21*q + 6],_data_curl_curl_det_0_0_BLUE_UP[21*q + 6],_data_curl_curl_det_0_0_BLUE_UP[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 6],_data_mass_det_0_0_BLUE_UP[21*q + 6],_data_mass_det_0_0_BLUE_UP[21*q + 6],_data_mass_det_0_0_BLUE_UP[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 7],_data_curl_curl_det_0_0_BLUE_UP[21*q + 7],_data_curl_curl_det_0_0_BLUE_UP[21*q + 7],_data_curl_curl_det_0_0_BLUE_UP[21*q + 7])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 7],_data_mass_det_0_0_BLUE_UP[21*q + 7],_data_mass_det_0_0_BLUE_UP[21*q + 7],_data_mass_det_0_0_BLUE_UP[21*q + 7]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 8],_data_curl_curl_det_0_0_BLUE_UP[21*q + 8],_data_curl_curl_det_0_0_BLUE_UP[21*q + 8],_data_curl_curl_det_0_0_BLUE_UP[21*q + 8])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 8],_data_mass_det_0_0_BLUE_UP[21*q + 8],_data_mass_det_0_0_BLUE_UP[21*q + 8],_data_mass_det_0_0_BLUE_UP[21*q + 8]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 9],_data_curl_curl_det_0_0_BLUE_UP[21*q + 9],_data_curl_curl_det_0_0_BLUE_UP[21*q + 9],_data_curl_curl_det_0_0_BLUE_UP[21*q + 9])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 9],_data_mass_det_0_0_BLUE_UP[21*q + 9],_data_mass_det_0_0_BLUE_UP[21*q + 9],_data_mass_det_0_0_BLUE_UP[21*q + 9]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 10],_data_curl_curl_det_0_0_BLUE_UP[21*q + 10],_data_curl_curl_det_0_0_BLUE_UP[21*q + 10],_data_curl_curl_det_0_0_BLUE_UP[21*q + 10])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 10],_data_mass_det_0_0_BLUE_UP[21*q + 10],_data_mass_det_0_0_BLUE_UP[21*q + 10],_data_mass_det_0_0_BLUE_UP[21*q + 10]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 11],_data_curl_curl_det_0_0_BLUE_UP[21*q + 11],_data_curl_curl_det_0_0_BLUE_UP[21*q + 11],_data_curl_curl_det_0_0_BLUE_UP[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 11],_data_mass_det_0_0_BLUE_UP[21*q + 11],_data_mass_det_0_0_BLUE_UP[21*q + 11],_data_mass_det_0_0_BLUE_UP[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 12],_data_curl_curl_det_0_0_BLUE_UP[21*q + 12],_data_curl_curl_det_0_0_BLUE_UP[21*q + 12],_data_curl_curl_det_0_0_BLUE_UP[21*q + 12])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 12],_data_mass_det_0_0_BLUE_UP[21*q + 12],_data_mass_det_0_0_BLUE_UP[21*q + 12],_data_mass_det_0_0_BLUE_UP[21*q + 12]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 13],_data_curl_curl_det_0_0_BLUE_UP[21*q + 13],_data_curl_curl_det_0_0_BLUE_UP[21*q + 13],_data_curl_curl_det_0_0_BLUE_UP[21*q + 13])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 13],_data_mass_det_0_0_BLUE_UP[21*q + 13],_data_mass_det_0_0_BLUE_UP[21*q + 13],_data_mass_det_0_0_BLUE_UP[21*q + 13]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 14],_data_curl_curl_det_0_0_BLUE_UP[21*q + 14],_data_curl_curl_det_0_0_BLUE_UP[21*q + 14],_data_curl_curl_det_0_0_BLUE_UP[21*q + 14])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 14],_data_mass_det_0_0_BLUE_UP[21*q + 14],_data_mass_det_0_0_BLUE_UP[21*q + 14],_data_mass_det_0_0_BLUE_UP[21*q + 14]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 15],_data_curl_curl_det_0_0_BLUE_UP[21*q + 15],_data_curl_curl_det_0_0_BLUE_UP[21*q + 15],_data_curl_curl_det_0_0_BLUE_UP[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 15],_data_mass_det_0_0_BLUE_UP[21*q + 15],_data_mass_det_0_0_BLUE_UP[21*q + 15],_data_mass_det_0_0_BLUE_UP[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 16],_data_curl_curl_det_0_0_BLUE_UP[21*q + 16],_data_curl_curl_det_0_0_BLUE_UP[21*q + 16],_data_curl_curl_det_0_0_BLUE_UP[21*q + 16])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 16],_data_mass_det_0_0_BLUE_UP[21*q + 16],_data_mass_det_0_0_BLUE_UP[21*q + 16],_data_mass_det_0_0_BLUE_UP[21*q + 16]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 17],_data_curl_curl_det_0_0_BLUE_UP[21*q + 17],_data_curl_curl_det_0_0_BLUE_UP[21*q + 17],_data_curl_curl_det_0_0_BLUE_UP[21*q + 17])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 17],_data_mass_det_0_0_BLUE_UP[21*q + 17],_data_mass_det_0_0_BLUE_UP[21*q + 17],_data_mass_det_0_0_BLUE_UP[21*q + 17]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 18],_data_curl_curl_det_0_0_BLUE_UP[21*q + 18],_data_curl_curl_det_0_0_BLUE_UP[21*q + 18],_data_curl_curl_det_0_0_BLUE_UP[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 18],_data_mass_det_0_0_BLUE_UP[21*q + 18],_data_mass_det_0_0_BLUE_UP[21*q + 18],_data_mass_det_0_0_BLUE_UP[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 19],_data_curl_curl_det_0_0_BLUE_UP[21*q + 19],_data_curl_curl_det_0_0_BLUE_UP[21*q + 19],_data_curl_curl_det_0_0_BLUE_UP[21*q + 19])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 19],_data_mass_det_0_0_BLUE_UP[21*q + 19],_data_mass_det_0_0_BLUE_UP[21*q + 19],_data_mass_det_0_0_BLUE_UP[21*q + 19]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 20],_data_curl_curl_det_0_0_BLUE_UP[21*q + 20],_data_curl_curl_det_0_0_BLUE_UP[21*q + 20],_data_curl_curl_det_0_0_BLUE_UP[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 20],_data_mass_det_0_0_BLUE_UP[21*q + 20],_data_mass_det_0_0_BLUE_UP[21*q + 20],_data_mass_det_0_0_BLUE_UP[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + 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_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_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_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_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_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_0_1,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_0_2,src_dof_0),_mm256_mul_pd(q_acc_1_2,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)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_3,src_dof_0),_mm256_mul_pd(q_acc_1_3,src_dof_1)),_mm256_mul_pd(q_acc_2_3,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)); + const __m256d elMatVec_4 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_4,src_dof_0),_mm256_mul_pd(q_acc_1_4,src_dof_1)),_mm256_mul_pd(q_acc_2_4,src_dof_2)),_mm256_mul_pd(q_acc_3_4,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)); + const __m256d elMatVec_5 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_5,src_dof_0),_mm256_mul_pd(q_acc_1_5,src_dof_1)),_mm256_mul_pd(q_acc_2_5,src_dof_2)),_mm256_mul_pd(q_acc_3_5,src_dof_3)),_mm256_mul_pd(q_acc_4_5,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_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)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_UP[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_UP[4*q] + beta_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_DOWN [] = {1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN))*0.0015946483738042789), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN))*0.019180701709517984), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN))*0.024315138068613663), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN))*0.21372269856705545), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN))*0.032410690545436105), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN))*0.6610455395250987), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN))*0.12476568502206307), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_1 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_2 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_3 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_4 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_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_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_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_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q],_data_curl_curl_det_0_0_BLUE_DOWN[21*q],_data_curl_curl_det_0_0_BLUE_DOWN[21*q],_data_curl_curl_det_0_0_BLUE_DOWN[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q],_data_mass_det_0_0_BLUE_DOWN[21*q],_data_mass_det_0_0_BLUE_DOWN[21*q],_data_mass_det_0_0_BLUE_DOWN[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 1],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 1],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 1],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 1])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 1],_data_mass_det_0_0_BLUE_DOWN[21*q + 1],_data_mass_det_0_0_BLUE_DOWN[21*q + 1],_data_mass_det_0_0_BLUE_DOWN[21*q + 1]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 2],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 2],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 2],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 2])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 2],_data_mass_det_0_0_BLUE_DOWN[21*q + 2],_data_mass_det_0_0_BLUE_DOWN[21*q + 2],_data_mass_det_0_0_BLUE_DOWN[21*q + 2]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 3],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 3],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 3],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 3])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 3],_data_mass_det_0_0_BLUE_DOWN[21*q + 3],_data_mass_det_0_0_BLUE_DOWN[21*q + 3],_data_mass_det_0_0_BLUE_DOWN[21*q + 3]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 4],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 4],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 4],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 4])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 4],_data_mass_det_0_0_BLUE_DOWN[21*q + 4],_data_mass_det_0_0_BLUE_DOWN[21*q + 4],_data_mass_det_0_0_BLUE_DOWN[21*q + 4]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 5],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 5],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 5],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 5])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 5],_data_mass_det_0_0_BLUE_DOWN[21*q + 5],_data_mass_det_0_0_BLUE_DOWN[21*q + 5],_data_mass_det_0_0_BLUE_DOWN[21*q + 5]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 6],_data_mass_det_0_0_BLUE_DOWN[21*q + 6],_data_mass_det_0_0_BLUE_DOWN[21*q + 6],_data_mass_det_0_0_BLUE_DOWN[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 7],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 7],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 7],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 7])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 7],_data_mass_det_0_0_BLUE_DOWN[21*q + 7],_data_mass_det_0_0_BLUE_DOWN[21*q + 7],_data_mass_det_0_0_BLUE_DOWN[21*q + 7]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 8],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 8],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 8],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 8])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 8],_data_mass_det_0_0_BLUE_DOWN[21*q + 8],_data_mass_det_0_0_BLUE_DOWN[21*q + 8],_data_mass_det_0_0_BLUE_DOWN[21*q + 8]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 9],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 9],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 9],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 9])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 9],_data_mass_det_0_0_BLUE_DOWN[21*q + 9],_data_mass_det_0_0_BLUE_DOWN[21*q + 9],_data_mass_det_0_0_BLUE_DOWN[21*q + 9]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 10],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 10],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 10],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 10])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 10],_data_mass_det_0_0_BLUE_DOWN[21*q + 10],_data_mass_det_0_0_BLUE_DOWN[21*q + 10],_data_mass_det_0_0_BLUE_DOWN[21*q + 10]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 11],_data_mass_det_0_0_BLUE_DOWN[21*q + 11],_data_mass_det_0_0_BLUE_DOWN[21*q + 11],_data_mass_det_0_0_BLUE_DOWN[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 12],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 12],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 12],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 12])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 12],_data_mass_det_0_0_BLUE_DOWN[21*q + 12],_data_mass_det_0_0_BLUE_DOWN[21*q + 12],_data_mass_det_0_0_BLUE_DOWN[21*q + 12]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 13],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 13],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 13],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 13])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 13],_data_mass_det_0_0_BLUE_DOWN[21*q + 13],_data_mass_det_0_0_BLUE_DOWN[21*q + 13],_data_mass_det_0_0_BLUE_DOWN[21*q + 13]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 14],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 14],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 14],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 14])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 14],_data_mass_det_0_0_BLUE_DOWN[21*q + 14],_data_mass_det_0_0_BLUE_DOWN[21*q + 14],_data_mass_det_0_0_BLUE_DOWN[21*q + 14]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 15],_data_mass_det_0_0_BLUE_DOWN[21*q + 15],_data_mass_det_0_0_BLUE_DOWN[21*q + 15],_data_mass_det_0_0_BLUE_DOWN[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 16],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 16],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 16],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 16])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 16],_data_mass_det_0_0_BLUE_DOWN[21*q + 16],_data_mass_det_0_0_BLUE_DOWN[21*q + 16],_data_mass_det_0_0_BLUE_DOWN[21*q + 16]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 17],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 17],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 17],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 17])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 17],_data_mass_det_0_0_BLUE_DOWN[21*q + 17],_data_mass_det_0_0_BLUE_DOWN[21*q + 17],_data_mass_det_0_0_BLUE_DOWN[21*q + 17]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 18],_data_mass_det_0_0_BLUE_DOWN[21*q + 18],_data_mass_det_0_0_BLUE_DOWN[21*q + 18],_data_mass_det_0_0_BLUE_DOWN[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 19],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 19],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 19],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 19])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 19],_data_mass_det_0_0_BLUE_DOWN[21*q + 19],_data_mass_det_0_0_BLUE_DOWN[21*q + 19],_data_mass_det_0_0_BLUE_DOWN[21*q + 19]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 20],_data_mass_det_0_0_BLUE_DOWN[21*q + 20],_data_mass_det_0_0_BLUE_DOWN[21*q + 20],_data_mass_det_0_0_BLUE_DOWN[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + 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_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_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_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_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_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_0_1,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_0_2,src_dof_0),_mm256_mul_pd(q_acc_1_2,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)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_3,src_dof_0),_mm256_mul_pd(q_acc_1_3,src_dof_1)),_mm256_mul_pd(q_acc_2_3,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)); + const __m256d elMatVec_4 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_4,src_dof_0),_mm256_mul_pd(q_acc_1_4,src_dof_1)),_mm256_mul_pd(q_acc_2_4,src_dof_2)),_mm256_mul_pd(q_acc_3_4,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)); + const __m256d elMatVec_5 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_5,src_dof_0),_mm256_mul_pd(q_acc_1_5,src_dof_1)),_mm256_mul_pd(q_acc_2_5,src_dof_2)),_mm256_mul_pd(q_acc_3_5,src_dof_3)),_mm256_mul_pd(q_acc_4_5,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_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)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); + { + /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_UP [] = {1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP))*0.0015946483738042789), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP))*0.019180701709517984), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP))*0.024315138068613663), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP))*0.21372269856705545), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP))*0.032410690545436105), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP))*0.6610455395250987), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP))*0.12476568502206307), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008))*0.046851444153837518)}; + + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_1 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_2 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_3 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_4 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_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_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_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_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q],_data_curl_curl_det_0_0_GREEN_UP[21*q],_data_curl_curl_det_0_0_GREEN_UP[21*q],_data_curl_curl_det_0_0_GREEN_UP[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q],_data_mass_det_0_0_GREEN_UP[21*q],_data_mass_det_0_0_GREEN_UP[21*q],_data_mass_det_0_0_GREEN_UP[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 1],_data_curl_curl_det_0_0_GREEN_UP[21*q + 1],_data_curl_curl_det_0_0_GREEN_UP[21*q + 1],_data_curl_curl_det_0_0_GREEN_UP[21*q + 1])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 1],_data_mass_det_0_0_GREEN_UP[21*q + 1],_data_mass_det_0_0_GREEN_UP[21*q + 1],_data_mass_det_0_0_GREEN_UP[21*q + 1]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 2],_data_curl_curl_det_0_0_GREEN_UP[21*q + 2],_data_curl_curl_det_0_0_GREEN_UP[21*q + 2],_data_curl_curl_det_0_0_GREEN_UP[21*q + 2])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 2],_data_mass_det_0_0_GREEN_UP[21*q + 2],_data_mass_det_0_0_GREEN_UP[21*q + 2],_data_mass_det_0_0_GREEN_UP[21*q + 2]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 3],_data_curl_curl_det_0_0_GREEN_UP[21*q + 3],_data_curl_curl_det_0_0_GREEN_UP[21*q + 3],_data_curl_curl_det_0_0_GREEN_UP[21*q + 3])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 3],_data_mass_det_0_0_GREEN_UP[21*q + 3],_data_mass_det_0_0_GREEN_UP[21*q + 3],_data_mass_det_0_0_GREEN_UP[21*q + 3]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 4],_data_curl_curl_det_0_0_GREEN_UP[21*q + 4],_data_curl_curl_det_0_0_GREEN_UP[21*q + 4],_data_curl_curl_det_0_0_GREEN_UP[21*q + 4])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 4],_data_mass_det_0_0_GREEN_UP[21*q + 4],_data_mass_det_0_0_GREEN_UP[21*q + 4],_data_mass_det_0_0_GREEN_UP[21*q + 4]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 5],_data_curl_curl_det_0_0_GREEN_UP[21*q + 5],_data_curl_curl_det_0_0_GREEN_UP[21*q + 5],_data_curl_curl_det_0_0_GREEN_UP[21*q + 5])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 5],_data_mass_det_0_0_GREEN_UP[21*q + 5],_data_mass_det_0_0_GREEN_UP[21*q + 5],_data_mass_det_0_0_GREEN_UP[21*q + 5]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 6],_data_curl_curl_det_0_0_GREEN_UP[21*q + 6],_data_curl_curl_det_0_0_GREEN_UP[21*q + 6],_data_curl_curl_det_0_0_GREEN_UP[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 6],_data_mass_det_0_0_GREEN_UP[21*q + 6],_data_mass_det_0_0_GREEN_UP[21*q + 6],_data_mass_det_0_0_GREEN_UP[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 7],_data_curl_curl_det_0_0_GREEN_UP[21*q + 7],_data_curl_curl_det_0_0_GREEN_UP[21*q + 7],_data_curl_curl_det_0_0_GREEN_UP[21*q + 7])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 7],_data_mass_det_0_0_GREEN_UP[21*q + 7],_data_mass_det_0_0_GREEN_UP[21*q + 7],_data_mass_det_0_0_GREEN_UP[21*q + 7]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 8],_data_curl_curl_det_0_0_GREEN_UP[21*q + 8],_data_curl_curl_det_0_0_GREEN_UP[21*q + 8],_data_curl_curl_det_0_0_GREEN_UP[21*q + 8])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 8],_data_mass_det_0_0_GREEN_UP[21*q + 8],_data_mass_det_0_0_GREEN_UP[21*q + 8],_data_mass_det_0_0_GREEN_UP[21*q + 8]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 9],_data_curl_curl_det_0_0_GREEN_UP[21*q + 9],_data_curl_curl_det_0_0_GREEN_UP[21*q + 9],_data_curl_curl_det_0_0_GREEN_UP[21*q + 9])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 9],_data_mass_det_0_0_GREEN_UP[21*q + 9],_data_mass_det_0_0_GREEN_UP[21*q + 9],_data_mass_det_0_0_GREEN_UP[21*q + 9]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 10],_data_curl_curl_det_0_0_GREEN_UP[21*q + 10],_data_curl_curl_det_0_0_GREEN_UP[21*q + 10],_data_curl_curl_det_0_0_GREEN_UP[21*q + 10])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 10],_data_mass_det_0_0_GREEN_UP[21*q + 10],_data_mass_det_0_0_GREEN_UP[21*q + 10],_data_mass_det_0_0_GREEN_UP[21*q + 10]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 11],_data_curl_curl_det_0_0_GREEN_UP[21*q + 11],_data_curl_curl_det_0_0_GREEN_UP[21*q + 11],_data_curl_curl_det_0_0_GREEN_UP[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 11],_data_mass_det_0_0_GREEN_UP[21*q + 11],_data_mass_det_0_0_GREEN_UP[21*q + 11],_data_mass_det_0_0_GREEN_UP[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 12],_data_curl_curl_det_0_0_GREEN_UP[21*q + 12],_data_curl_curl_det_0_0_GREEN_UP[21*q + 12],_data_curl_curl_det_0_0_GREEN_UP[21*q + 12])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 12],_data_mass_det_0_0_GREEN_UP[21*q + 12],_data_mass_det_0_0_GREEN_UP[21*q + 12],_data_mass_det_0_0_GREEN_UP[21*q + 12]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 13],_data_curl_curl_det_0_0_GREEN_UP[21*q + 13],_data_curl_curl_det_0_0_GREEN_UP[21*q + 13],_data_curl_curl_det_0_0_GREEN_UP[21*q + 13])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 13],_data_mass_det_0_0_GREEN_UP[21*q + 13],_data_mass_det_0_0_GREEN_UP[21*q + 13],_data_mass_det_0_0_GREEN_UP[21*q + 13]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 14],_data_curl_curl_det_0_0_GREEN_UP[21*q + 14],_data_curl_curl_det_0_0_GREEN_UP[21*q + 14],_data_curl_curl_det_0_0_GREEN_UP[21*q + 14])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 14],_data_mass_det_0_0_GREEN_UP[21*q + 14],_data_mass_det_0_0_GREEN_UP[21*q + 14],_data_mass_det_0_0_GREEN_UP[21*q + 14]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 15],_data_curl_curl_det_0_0_GREEN_UP[21*q + 15],_data_curl_curl_det_0_0_GREEN_UP[21*q + 15],_data_curl_curl_det_0_0_GREEN_UP[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 15],_data_mass_det_0_0_GREEN_UP[21*q + 15],_data_mass_det_0_0_GREEN_UP[21*q + 15],_data_mass_det_0_0_GREEN_UP[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 16],_data_curl_curl_det_0_0_GREEN_UP[21*q + 16],_data_curl_curl_det_0_0_GREEN_UP[21*q + 16],_data_curl_curl_det_0_0_GREEN_UP[21*q + 16])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 16],_data_mass_det_0_0_GREEN_UP[21*q + 16],_data_mass_det_0_0_GREEN_UP[21*q + 16],_data_mass_det_0_0_GREEN_UP[21*q + 16]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 17],_data_curl_curl_det_0_0_GREEN_UP[21*q + 17],_data_curl_curl_det_0_0_GREEN_UP[21*q + 17],_data_curl_curl_det_0_0_GREEN_UP[21*q + 17])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 17],_data_mass_det_0_0_GREEN_UP[21*q + 17],_data_mass_det_0_0_GREEN_UP[21*q + 17],_data_mass_det_0_0_GREEN_UP[21*q + 17]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 18],_data_curl_curl_det_0_0_GREEN_UP[21*q + 18],_data_curl_curl_det_0_0_GREEN_UP[21*q + 18],_data_curl_curl_det_0_0_GREEN_UP[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 18],_data_mass_det_0_0_GREEN_UP[21*q + 18],_data_mass_det_0_0_GREEN_UP[21*q + 18],_data_mass_det_0_0_GREEN_UP[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 19],_data_curl_curl_det_0_0_GREEN_UP[21*q + 19],_data_curl_curl_det_0_0_GREEN_UP[21*q + 19],_data_curl_curl_det_0_0_GREEN_UP[21*q + 19])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 19],_data_mass_det_0_0_GREEN_UP[21*q + 19],_data_mass_det_0_0_GREEN_UP[21*q + 19],_data_mass_det_0_0_GREEN_UP[21*q + 19]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 20],_data_curl_curl_det_0_0_GREEN_UP[21*q + 20],_data_curl_curl_det_0_0_GREEN_UP[21*q + 20],_data_curl_curl_det_0_0_GREEN_UP[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 20],_data_mass_det_0_0_GREEN_UP[21*q + 20],_data_mass_det_0_0_GREEN_UP[21*q + 20],_data_mass_det_0_0_GREEN_UP[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + 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_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_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_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_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_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_0_1,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_0_2,src_dof_0),_mm256_mul_pd(q_acc_1_2,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)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_3,src_dof_0),_mm256_mul_pd(q_acc_1_3,src_dof_1)),_mm256_mul_pd(q_acc_2_3,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)); + const __m256d elMatVec_4 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_4,src_dof_0),_mm256_mul_pd(q_acc_1_4,src_dof_1)),_mm256_mul_pd(q_acc_2_4,src_dof_2)),_mm256_mul_pd(q_acc_3_4,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)); + const __m256d elMatVec_5 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_5,src_dof_0),_mm256_mul_pd(q_acc_1_5,src_dof_1)),_mm256_mul_pd(q_acc_2_5,src_dof_2)),_mm256_mul_pd(q_acc_3_5,src_dof_3)),_mm256_mul_pd(q_acc_4_5,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_UP[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_UP[4*q] + beta_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_DOWN [] = {1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN))*0.0015946483738042789), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN))*0.019180701709517984), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN))*0.024315138068613663), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN))*0.21372269856705545), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN))*0.032410690545436105), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN))*0.6610455395250987), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN))*0.12476568502206307), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_1 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_2 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_3 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_4 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + 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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]); + const __m256d alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_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_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_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_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q],_data_curl_curl_det_0_0_GREEN_DOWN[21*q],_data_curl_curl_det_0_0_GREEN_DOWN[21*q],_data_curl_curl_det_0_0_GREEN_DOWN[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q],_data_mass_det_0_0_GREEN_DOWN[21*q],_data_mass_det_0_0_GREEN_DOWN[21*q],_data_mass_det_0_0_GREEN_DOWN[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 1],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 1],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 1],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 1])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 1],_data_mass_det_0_0_GREEN_DOWN[21*q + 1],_data_mass_det_0_0_GREEN_DOWN[21*q + 1],_data_mass_det_0_0_GREEN_DOWN[21*q + 1]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 2],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 2],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 2],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 2])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 2],_data_mass_det_0_0_GREEN_DOWN[21*q + 2],_data_mass_det_0_0_GREEN_DOWN[21*q + 2],_data_mass_det_0_0_GREEN_DOWN[21*q + 2]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 3],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 3],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 3],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 3])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 3],_data_mass_det_0_0_GREEN_DOWN[21*q + 3],_data_mass_det_0_0_GREEN_DOWN[21*q + 3],_data_mass_det_0_0_GREEN_DOWN[21*q + 3]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 4],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 4],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 4],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 4])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 4],_data_mass_det_0_0_GREEN_DOWN[21*q + 4],_data_mass_det_0_0_GREEN_DOWN[21*q + 4],_data_mass_det_0_0_GREEN_DOWN[21*q + 4]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_0_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 5],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 5],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 5],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 5])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 5],_data_mass_det_0_0_GREEN_DOWN[21*q + 5],_data_mass_det_0_0_GREEN_DOWN[21*q + 5],_data_mass_det_0_0_GREEN_DOWN[21*q + 5]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 6],_data_mass_det_0_0_GREEN_DOWN[21*q + 6],_data_mass_det_0_0_GREEN_DOWN[21*q + 6],_data_mass_det_0_0_GREEN_DOWN[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 7],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 7],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 7],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 7])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 7],_data_mass_det_0_0_GREEN_DOWN[21*q + 7],_data_mass_det_0_0_GREEN_DOWN[21*q + 7],_data_mass_det_0_0_GREEN_DOWN[21*q + 7]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 8],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 8],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 8],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 8])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 8],_data_mass_det_0_0_GREEN_DOWN[21*q + 8],_data_mass_det_0_0_GREEN_DOWN[21*q + 8],_data_mass_det_0_0_GREEN_DOWN[21*q + 8]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 9],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 9],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 9],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 9])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 9],_data_mass_det_0_0_GREEN_DOWN[21*q + 9],_data_mass_det_0_0_GREEN_DOWN[21*q + 9],_data_mass_det_0_0_GREEN_DOWN[21*q + 9]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 10],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 10],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 10],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 10])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 10],_data_mass_det_0_0_GREEN_DOWN[21*q + 10],_data_mass_det_0_0_GREEN_DOWN[21*q + 10],_data_mass_det_0_0_GREEN_DOWN[21*q + 10]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 11],_data_mass_det_0_0_GREEN_DOWN[21*q + 11],_data_mass_det_0_0_GREEN_DOWN[21*q + 11],_data_mass_det_0_0_GREEN_DOWN[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 12],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 12],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 12],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 12])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 12],_data_mass_det_0_0_GREEN_DOWN[21*q + 12],_data_mass_det_0_0_GREEN_DOWN[21*q + 12],_data_mass_det_0_0_GREEN_DOWN[21*q + 12]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 13],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 13],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 13],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 13])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 13],_data_mass_det_0_0_GREEN_DOWN[21*q + 13],_data_mass_det_0_0_GREEN_DOWN[21*q + 13],_data_mass_det_0_0_GREEN_DOWN[21*q + 13]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 14],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 14],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 14],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 14])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 14],_data_mass_det_0_0_GREEN_DOWN[21*q + 14],_data_mass_det_0_0_GREEN_DOWN[21*q + 14],_data_mass_det_0_0_GREEN_DOWN[21*q + 14]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 15],_data_mass_det_0_0_GREEN_DOWN[21*q + 15],_data_mass_det_0_0_GREEN_DOWN[21*q + 15],_data_mass_det_0_0_GREEN_DOWN[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 16],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 16],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 16],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 16])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 16],_data_mass_det_0_0_GREEN_DOWN[21*q + 16],_data_mass_det_0_0_GREEN_DOWN[21*q + 16],_data_mass_det_0_0_GREEN_DOWN[21*q + 16]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 17],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 17],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 17],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 17])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 17],_data_mass_det_0_0_GREEN_DOWN[21*q + 17],_data_mass_det_0_0_GREEN_DOWN[21*q + 17],_data_mass_det_0_0_GREEN_DOWN[21*q + 17]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 18],_data_mass_det_0_0_GREEN_DOWN[21*q + 18],_data_mass_det_0_0_GREEN_DOWN[21*q + 18],_data_mass_det_0_0_GREEN_DOWN[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 19],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 19],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 19],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 19])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 19],_data_mass_det_0_0_GREEN_DOWN[21*q + 19],_data_mass_det_0_0_GREEN_DOWN[21*q + 19],_data_mass_det_0_0_GREEN_DOWN[21*q + 19]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 20],_data_mass_det_0_0_GREEN_DOWN[21*q + 20],_data_mass_det_0_0_GREEN_DOWN[21*q + 20],_data_mass_det_0_0_GREEN_DOWN[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + 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_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_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_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_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_4_5 = _mm256_add_pd(q_acc_4_5,q_tmp_4_5); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_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_0_1,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_0_2,src_dof_0),_mm256_mul_pd(q_acc_1_2,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)); + const __m256d elMatVec_3 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_3,src_dof_0),_mm256_mul_pd(q_acc_1_3,src_dof_1)),_mm256_mul_pd(q_acc_2_3,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)); + const __m256d elMatVec_4 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_4,src_dof_0),_mm256_mul_pd(q_acc_1_4,src_dof_1)),_mm256_mul_pd(q_acc_2_4,src_dof_2)),_mm256_mul_pd(q_acc_3_4,src_dof_3)),_mm256_mul_pd(q_acc_4_4,src_dof_4)),_mm256_mul_pd(q_acc_4_5,src_dof_5)); + const __m256d elMatVec_5 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(q_acc_0_5,src_dof_0),_mm256_mul_pd(q_acc_1_5,src_dof_1)),_mm256_mul_pd(q_acc_2_5,src_dof_2)),_mm256_mul_pd(q_acc_3_5,src_dof_3)),_mm256_mul_pd(q_acc_4_5,src_dof_4)),_mm256_mul_pd(q_acc_5_5,src_dof_5)); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_1,_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)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_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)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatVec_4,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatVec_5,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + beta_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/curl_curl_plus_mass/avx/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/curl_curl_plus_mass/avx/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..882d2b17d9f2bde681bb976ff7b6d17268e0e7aa --- /dev/null +++ b/operators/curl_curl_plus_mass/avx/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -0,0 +1,978 @@ +/* +* 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 "../N1E1ElementwiseCurlCurlPlusMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void N1E1ElementwiseCurlCurlPlusMass::computeInverseDiagonalOperatorValues_macro_3D( walberla::float64 * RESTRICT _data_alpha, walberla::float64 * RESTRICT _data_beta, walberla::float64 * RESTRICT _data_invDiag_, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const +{ + { + const walberla::float64 _data_q_w [] = {0.016934591412496779, 0.046462929447761363, 0.05008682322282932, 0.053182322583579168}; + + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); + { + /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_UP [] = {1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP))*0.0015946483738042789), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP))*0.019180701709517984), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP))*0.024315138068613663), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP))*0.21372269856705545), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP))*0.032410690545436105), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP))*0.6610455395250987), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP))*0.12476568502206307), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q],_data_curl_curl_det_0_0_WHITE_UP[21*q],_data_curl_curl_det_0_0_WHITE_UP[21*q],_data_curl_curl_det_0_0_WHITE_UP[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q],_data_mass_det_0_0_WHITE_UP[21*q],_data_mass_det_0_0_WHITE_UP[21*q],_data_mass_det_0_0_WHITE_UP[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 6],_data_curl_curl_det_0_0_WHITE_UP[21*q + 6],_data_curl_curl_det_0_0_WHITE_UP[21*q + 6],_data_curl_curl_det_0_0_WHITE_UP[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 6],_data_mass_det_0_0_WHITE_UP[21*q + 6],_data_mass_det_0_0_WHITE_UP[21*q + 6],_data_mass_det_0_0_WHITE_UP[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 11],_data_curl_curl_det_0_0_WHITE_UP[21*q + 11],_data_curl_curl_det_0_0_WHITE_UP[21*q + 11],_data_curl_curl_det_0_0_WHITE_UP[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 11],_data_mass_det_0_0_WHITE_UP[21*q + 11],_data_mass_det_0_0_WHITE_UP[21*q + 11],_data_mass_det_0_0_WHITE_UP[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 15],_data_curl_curl_det_0_0_WHITE_UP[21*q + 15],_data_curl_curl_det_0_0_WHITE_UP[21*q + 15],_data_curl_curl_det_0_0_WHITE_UP[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 15],_data_mass_det_0_0_WHITE_UP[21*q + 15],_data_mass_det_0_0_WHITE_UP[21*q + 15],_data_mass_det_0_0_WHITE_UP[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 18],_data_curl_curl_det_0_0_WHITE_UP[21*q + 18],_data_curl_curl_det_0_0_WHITE_UP[21*q + 18],_data_curl_curl_det_0_0_WHITE_UP[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 18],_data_mass_det_0_0_WHITE_UP[21*q + 18],_data_mass_det_0_0_WHITE_UP[21*q + 18],_data_mass_det_0_0_WHITE_UP[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_UP[21*q + 20],_data_curl_curl_det_0_0_WHITE_UP[21*q + 20],_data_curl_curl_det_0_0_WHITE_UP[21*q + 20],_data_curl_curl_det_0_0_WHITE_UP[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_UP[21*q + 20],_data_mass_det_0_0_WHITE_UP[21*q + 20],_data_mass_det_0_0_WHITE_UP[21*q + 20],_data_mass_det_0_0_WHITE_UP[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + const __m256d elMatDiag_3 = q_acc_3_3; + const __m256d elMatDiag_4 = q_acc_4_4; + const __m256d elMatDiag_5 = q_acc_5_5; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_UP[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_UP[4*q] + beta_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[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 walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_DOWN [] = {1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN))*0.0015946483738042789), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN))*0.019180701709517984), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN))*0.024315138068613663), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN))*0.21372269856705545), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN))*0.032410690545436105), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN))*0.6610455395250987), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN))*0.12476568502206307), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q],_data_curl_curl_det_0_0_WHITE_DOWN[21*q],_data_curl_curl_det_0_0_WHITE_DOWN[21*q],_data_curl_curl_det_0_0_WHITE_DOWN[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q],_data_mass_det_0_0_WHITE_DOWN[21*q],_data_mass_det_0_0_WHITE_DOWN[21*q],_data_mass_det_0_0_WHITE_DOWN[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 6],_data_mass_det_0_0_WHITE_DOWN[21*q + 6],_data_mass_det_0_0_WHITE_DOWN[21*q + 6],_data_mass_det_0_0_WHITE_DOWN[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 11],_data_mass_det_0_0_WHITE_DOWN[21*q + 11],_data_mass_det_0_0_WHITE_DOWN[21*q + 11],_data_mass_det_0_0_WHITE_DOWN[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 15],_data_mass_det_0_0_WHITE_DOWN[21*q + 15],_data_mass_det_0_0_WHITE_DOWN[21*q + 15],_data_mass_det_0_0_WHITE_DOWN[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 18],_data_mass_det_0_0_WHITE_DOWN[21*q + 18],_data_mass_det_0_0_WHITE_DOWN[21*q + 18],_data_mass_det_0_0_WHITE_DOWN[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20],_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_WHITE_DOWN[21*q + 20],_data_mass_det_0_0_WHITE_DOWN[21*q + 20],_data_mass_det_0_0_WHITE_DOWN[21*q + 20],_data_mass_det_0_0_WHITE_DOWN[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + const __m256d elMatDiag_3 = q_acc_3_3; + const __m256d elMatDiag_4 = q_acc_4_4; + const __m256d elMatDiag_5 = q_acc_5_5; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + } + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); + { + /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_UP [] = {1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP))*0.0015946483738042789), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP))*0.019180701709517984), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP))*0.024315138068613663), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP))*0.21372269856705545), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP))*0.032410690545436105), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP))*0.6610455395250987), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP))*0.12476568502206307), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q],_data_curl_curl_det_0_0_BLUE_UP[21*q],_data_curl_curl_det_0_0_BLUE_UP[21*q],_data_curl_curl_det_0_0_BLUE_UP[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q],_data_mass_det_0_0_BLUE_UP[21*q],_data_mass_det_0_0_BLUE_UP[21*q],_data_mass_det_0_0_BLUE_UP[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 6],_data_curl_curl_det_0_0_BLUE_UP[21*q + 6],_data_curl_curl_det_0_0_BLUE_UP[21*q + 6],_data_curl_curl_det_0_0_BLUE_UP[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 6],_data_mass_det_0_0_BLUE_UP[21*q + 6],_data_mass_det_0_0_BLUE_UP[21*q + 6],_data_mass_det_0_0_BLUE_UP[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 11],_data_curl_curl_det_0_0_BLUE_UP[21*q + 11],_data_curl_curl_det_0_0_BLUE_UP[21*q + 11],_data_curl_curl_det_0_0_BLUE_UP[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 11],_data_mass_det_0_0_BLUE_UP[21*q + 11],_data_mass_det_0_0_BLUE_UP[21*q + 11],_data_mass_det_0_0_BLUE_UP[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 15],_data_curl_curl_det_0_0_BLUE_UP[21*q + 15],_data_curl_curl_det_0_0_BLUE_UP[21*q + 15],_data_curl_curl_det_0_0_BLUE_UP[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 15],_data_mass_det_0_0_BLUE_UP[21*q + 15],_data_mass_det_0_0_BLUE_UP[21*q + 15],_data_mass_det_0_0_BLUE_UP[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 18],_data_curl_curl_det_0_0_BLUE_UP[21*q + 18],_data_curl_curl_det_0_0_BLUE_UP[21*q + 18],_data_curl_curl_det_0_0_BLUE_UP[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 18],_data_mass_det_0_0_BLUE_UP[21*q + 18],_data_mass_det_0_0_BLUE_UP[21*q + 18],_data_mass_det_0_0_BLUE_UP[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_UP[21*q + 20],_data_curl_curl_det_0_0_BLUE_UP[21*q + 20],_data_curl_curl_det_0_0_BLUE_UP[21*q + 20],_data_curl_curl_det_0_0_BLUE_UP[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_UP[21*q + 20],_data_mass_det_0_0_BLUE_UP[21*q + 20],_data_mass_det_0_0_BLUE_UP[21*q + 20],_data_mass_det_0_0_BLUE_UP[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + const __m256d elMatDiag_3 = q_acc_3_3; + const __m256d elMatDiag_4 = q_acc_4_4; + const __m256d elMatDiag_5 = q_acc_5_5; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_UP[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_UP[4*q] + beta_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_DOWN [] = {1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN))*0.0015946483738042789), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN))*0.019180701709517984), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN))*0.024315138068613663), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN))*0.21372269856705545), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN))*0.032410690545436105), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN))*0.6610455395250987), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN))*0.12476568502206307), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q],_data_curl_curl_det_0_0_BLUE_DOWN[21*q],_data_curl_curl_det_0_0_BLUE_DOWN[21*q],_data_curl_curl_det_0_0_BLUE_DOWN[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q],_data_mass_det_0_0_BLUE_DOWN[21*q],_data_mass_det_0_0_BLUE_DOWN[21*q],_data_mass_det_0_0_BLUE_DOWN[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 6],_data_mass_det_0_0_BLUE_DOWN[21*q + 6],_data_mass_det_0_0_BLUE_DOWN[21*q + 6],_data_mass_det_0_0_BLUE_DOWN[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 11],_data_mass_det_0_0_BLUE_DOWN[21*q + 11],_data_mass_det_0_0_BLUE_DOWN[21*q + 11],_data_mass_det_0_0_BLUE_DOWN[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 15],_data_mass_det_0_0_BLUE_DOWN[21*q + 15],_data_mass_det_0_0_BLUE_DOWN[21*q + 15],_data_mass_det_0_0_BLUE_DOWN[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 18],_data_mass_det_0_0_BLUE_DOWN[21*q + 18],_data_mass_det_0_0_BLUE_DOWN[21*q + 18],_data_mass_det_0_0_BLUE_DOWN[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20],_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_BLUE_DOWN[21*q + 20],_data_mass_det_0_0_BLUE_DOWN[21*q + 20],_data_mass_det_0_0_BLUE_DOWN[21*q + 20],_data_mass_det_0_0_BLUE_DOWN[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + const __m256d elMatDiag_3 = q_acc_3_3; + const __m256d elMatDiag_4 = q_acc_4_4; + const __m256d elMatDiag_5 = q_acc_5_5; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); + { + /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_UP [] = {1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP))*0.0015946483738042789), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP))*0.019180701709517984), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP))*0.024315138068613663), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP))*0.21372269856705545), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP))*0.032410690545436105), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP))*0.6610455395250987), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP))*0.12476568502206307), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q],_data_curl_curl_det_0_0_GREEN_UP[21*q],_data_curl_curl_det_0_0_GREEN_UP[21*q],_data_curl_curl_det_0_0_GREEN_UP[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q],_data_mass_det_0_0_GREEN_UP[21*q],_data_mass_det_0_0_GREEN_UP[21*q],_data_mass_det_0_0_GREEN_UP[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 6],_data_curl_curl_det_0_0_GREEN_UP[21*q + 6],_data_curl_curl_det_0_0_GREEN_UP[21*q + 6],_data_curl_curl_det_0_0_GREEN_UP[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 6],_data_mass_det_0_0_GREEN_UP[21*q + 6],_data_mass_det_0_0_GREEN_UP[21*q + 6],_data_mass_det_0_0_GREEN_UP[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 11],_data_curl_curl_det_0_0_GREEN_UP[21*q + 11],_data_curl_curl_det_0_0_GREEN_UP[21*q + 11],_data_curl_curl_det_0_0_GREEN_UP[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 11],_data_mass_det_0_0_GREEN_UP[21*q + 11],_data_mass_det_0_0_GREEN_UP[21*q + 11],_data_mass_det_0_0_GREEN_UP[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 15],_data_curl_curl_det_0_0_GREEN_UP[21*q + 15],_data_curl_curl_det_0_0_GREEN_UP[21*q + 15],_data_curl_curl_det_0_0_GREEN_UP[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 15],_data_mass_det_0_0_GREEN_UP[21*q + 15],_data_mass_det_0_0_GREEN_UP[21*q + 15],_data_mass_det_0_0_GREEN_UP[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 18],_data_curl_curl_det_0_0_GREEN_UP[21*q + 18],_data_curl_curl_det_0_0_GREEN_UP[21*q + 18],_data_curl_curl_det_0_0_GREEN_UP[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 18],_data_mass_det_0_0_GREEN_UP[21*q + 18],_data_mass_det_0_0_GREEN_UP[21*q + 18],_data_mass_det_0_0_GREEN_UP[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_UP[21*q + 20],_data_curl_curl_det_0_0_GREEN_UP[21*q + 20],_data_curl_curl_det_0_0_GREEN_UP[21*q + 20],_data_curl_curl_det_0_0_GREEN_UP[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_UP[21*q + 20],_data_mass_det_0_0_GREEN_UP[21*q + 20],_data_mass_det_0_0_GREEN_UP[21*q + 20],_data_mass_det_0_0_GREEN_UP[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + const __m256d elMatDiag_3 = q_acc_3_3; + const __m256d elMatDiag_4 = q_acc_4_4; + const __m256d elMatDiag_5 = q_acc_5_5; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_UP[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_UP[4*q] + beta_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_DOWN [] = {1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN))*0.0015946483738042789), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN))*0.019180701709517984), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN))*0.024315138068613663), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN))*0.21372269856705545), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN))*0.032410690545436105), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN))*0.6610455395250987), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN))*0.12476568502206307), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 alpha_dof_0 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 alpha_dof_1 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 alpha_dof_2 = _mm256_loadu_pd(& _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 alpha_dof_3 = _mm256_loadu_pd(& _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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 beta_dof_0 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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 beta_dof_1 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_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 beta_dof_2 = _mm256_loadu_pd(& _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_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 beta_dof_3 = _mm256_loadu_pd(& _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_4_4 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); + for (int64_t q = 0; q < 4; q += 1) + { + const __m256d tmp_qloop_0 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(alpha_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q])),_mm256_mul_pd(alpha_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1]))),_mm256_mul_pd(alpha_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2]))),_mm256_mul_pd(alpha_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3]))); + const __m256d tmp_qloop_1 = _mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(beta_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q])),_mm256_mul_pd(beta_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1]))),_mm256_mul_pd(beta_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2]))),_mm256_mul_pd(beta_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q],_data_curl_curl_det_0_0_GREEN_DOWN[21*q],_data_curl_curl_det_0_0_GREEN_DOWN[21*q],_data_curl_curl_det_0_0_GREEN_DOWN[21*q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q],_data_mass_det_0_0_GREEN_DOWN[21*q],_data_mass_det_0_0_GREEN_DOWN[21*q],_data_mass_det_0_0_GREEN_DOWN[21*q]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 6],_data_mass_det_0_0_GREEN_DOWN[21*q + 6],_data_mass_det_0_0_GREEN_DOWN[21*q + 6],_data_mass_det_0_0_GREEN_DOWN[21*q + 6]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 11],_data_mass_det_0_0_GREEN_DOWN[21*q + 11],_data_mass_det_0_0_GREEN_DOWN[21*q + 11],_data_mass_det_0_0_GREEN_DOWN[21*q + 11]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 15],_data_mass_det_0_0_GREEN_DOWN[21*q + 15],_data_mass_det_0_0_GREEN_DOWN[21*q + 15],_data_mass_det_0_0_GREEN_DOWN[21*q + 15]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_4_4 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 18],_data_mass_det_0_0_GREEN_DOWN[21*q + 18],_data_mass_det_0_0_GREEN_DOWN[21*q + 18],_data_mass_det_0_0_GREEN_DOWN[21*q + 18]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + const __m256d q_tmp_5_5 = _mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20],_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_mass_det_0_0_GREEN_DOWN[21*q + 20],_data_mass_det_0_0_GREEN_DOWN[21*q + 20],_data_mass_det_0_0_GREEN_DOWN[21*q + 20],_data_mass_det_0_0_GREEN_DOWN[21*q + 20]))),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])); + q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); + q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); + q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); + q_acc_3_3 = _mm256_add_pd(q_acc_3_3,q_tmp_3_3); + q_acc_4_4 = _mm256_add_pd(q_acc_4_4,q_tmp_4_4); + q_acc_5_5 = _mm256_add_pd(q_acc_5_5,q_tmp_5_5); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + const __m256d elMatDiag_3 = q_acc_3_3; + const __m256d elMatDiag_4 = q_acc_4_4; + const __m256d elMatDiag_5 = q_acc_5_5; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))],_mm256_add_pd(elMatDiag_4,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))],_mm256_add_pd(elMatDiag_5,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + beta_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp b/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..90d3611ec9d5320eabf00184ae13c1b38d7f4ea7 --- /dev/null +++ b/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_apply_macro_3D.cpp @@ -0,0 +1,996 @@ +/* +* 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 "../N1E1ElementwiseCurlCurlPlusMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void N1E1ElementwiseCurlCurlPlusMass::apply_macro_3D( walberla::float64 * RESTRICT _data_alpha, walberla::float64 * RESTRICT _data_beta, walberla::float64 * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const +{ + { + const walberla::float64 _data_q_w [] = {0.016934591412496779, 0.046462929447761363, 0.05008682322282932, 0.053182322583579168}; + + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); + { + /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_UP [] = {1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP))*0.0015946483738042789), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP))*0.019180701709517984), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP))*0.024315138068613663), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP))*0.21372269856705545), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP))*0.032410690545436105), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP))*0.6610455395250987), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP))*0.12476568502206307), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_UP[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_UP[4*q] + beta_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[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 walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_DOWN [] = {1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN))*0.0015946483738042789), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN))*0.019180701709517984), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN))*0.024315138068613663), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN))*0.21372269856705545), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN))*0.032410690545436105), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN))*0.6610455395250987), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN))*0.12476568502206307), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 src_dof_0 = _data_src[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 walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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 walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); + { + /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_UP [] = {1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP))*0.0015946483738042789), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP))*0.019180701709517984), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP))*0.024315138068613663), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP))*0.21372269856705545), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP))*0.032410690545436105), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP))*0.6610455395250987), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP))*0.12476568502206307), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_UP[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_UP[4*q] + beta_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_DOWN [] = {1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN))*0.0015946483738042789), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN))*0.019180701709517984), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN))*0.024315138068613663), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN))*0.21372269856705545), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN))*0.032410690545436105), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN))*0.6610455395250987), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN))*0.12476568502206307), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); + { + /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_UP [] = {1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP))*0.0015946483738042789), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP))*0.019180701709517984), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP))*0.024315138068613663), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP))*0.21372269856705545), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP))*0.032410690545436105), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP))*0.6610455395250987), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP))*0.12476568502206307), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_UP[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_UP[4*q] + beta_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_3 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_DOWN [] = {1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN))*0.0015946483738042789), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN))*0.019180701709517984), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN))*0.024315138068613663), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN))*0.21372269856705545), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN))*0.032410690545436105), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN))*0.6610455395250987), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN))*0.12476568502206307), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 src_dof_4 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + const walberla::float64 src_dof_5 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + const walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + beta_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatVec_4 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_5 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..282f9c7d804b926f0db26c243a9e6e7a589eec4b --- /dev/null +++ b/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -0,0 +1,690 @@ +/* +* 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 "../N1E1ElementwiseCurlCurlPlusMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void N1E1ElementwiseCurlCurlPlusMass::computeInverseDiagonalOperatorValues_macro_3D( walberla::float64 * RESTRICT _data_alpha, walberla::float64 * RESTRICT _data_beta, walberla::float64 * RESTRICT _data_invDiag_, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const +{ + { + const walberla::float64 _data_q_w [] = {0.016934591412496779, 0.046462929447761363, 0.05008682322282932, 0.053182322583579168}; + + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); + { + /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_UP [] = {1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP))*0.0015946483738042789), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP))*0.019180701709517984), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP))*0.024315138068613663), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP))*0.21372269856705545), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP))*0.032410690545436105), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP))*0.6610455395250987), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP))*0.12476568502206307), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_UP[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_UP[4*q] + beta_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[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 walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_DOWN [] = {1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN))*0.0015946483738042789), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN))*0.019180701709517984), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN))*0.024315138068613663), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN))*0.21372269856705545), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN))*0.032410690545436105), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN))*0.6610455395250987), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN))*0.12476568502206307), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); + { + /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_UP [] = {1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP))*0.0015946483738042789), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP))*0.019180701709517984), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP))*0.024315138068613663), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP))*0.21372269856705545), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP))*0.032410690545436105), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP))*0.6610455395250987), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP))*0.12476568502206307), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_UP[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_UP[4*q] + beta_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_DOWN [] = {1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN))*0.0015946483738042789), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN))*0.019180701709517984), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN))*0.024315138068613663), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN))*0.21372269856705545), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN))*0.032410690545436105), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN))*0.6610455395250987), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN))*0.12476568502206307), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); + { + /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_UP [] = {1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP))*0.0015946483738042789), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP))*0.019180701709517984), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP))*0.024315138068613663), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP))*0.21372269856705545), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP))*0.032410690545436105), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP))*0.6610455395250987), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP))*0.12476568502206307), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_UP[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_UP[4*q] + beta_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_DOWN [] = {1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN))*0.0015946483738042789), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN))*0.019180701709517984), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN))*0.024315138068613663), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN))*0.21372269856705545), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN))*0.032410690545436105), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN))*0.6610455395250987), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN))*0.12476568502206307), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + beta_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 20])*_data_q_w[q]; + q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; + q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; + q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; + q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; + q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))] = elMatDiag_4 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))]; + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_5 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_toMatrix_macro_3D.cpp b/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_toMatrix_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e7a182539ca7ad434839599c2a45bf44371f45c4 --- /dev/null +++ b/operators/curl_curl_plus_mass/noarch/N1E1ElementwiseCurlCurlPlusMass_toMatrix_macro_3D.cpp @@ -0,0 +1,1470 @@ +/* +* 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 "../N1E1ElementwiseCurlCurlPlusMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void N1E1ElementwiseCurlCurlPlusMass::toMatrix_macro_3D( walberla::float64 * RESTRICT _data_alpha, walberla::float64 * RESTRICT _data_beta, idx_t * RESTRICT _data_dst, idx_t * RESTRICT _data_src, const Cell& cell, const uint_t level, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const +{ + { + const walberla::float64 _data_q_w [] = {0.016934591412496779, 0.046462929447761363, 0.05008682322282932, 0.053182322583579168}; + + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); + { + /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_UP [] = {1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*jac_affine_0_0_WHITE_UP)*4.0 + (jac_affine_1_0_WHITE_UP*jac_affine_1_0_WHITE_UP)*4.0 + (jac_affine_2_0_WHITE_UP*jac_affine_2_0_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_1_WHITE_UP*-4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_1_WHITE_UP*-4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_1_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*jac_affine_0_2_WHITE_UP*4.0 + jac_affine_1_0_WHITE_UP*jac_affine_1_2_WHITE_UP*4.0 + jac_affine_2_0_WHITE_UP*jac_affine_2_2_WHITE_UP*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_0_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_0_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_0_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_1_WHITE_UP*jac_affine_0_1_WHITE_UP)*4.0 + (jac_affine_1_1_WHITE_UP*jac_affine_1_1_WHITE_UP)*4.0 + (jac_affine_2_1_WHITE_UP*jac_affine_2_1_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*jac_affine_0_2_WHITE_UP*-4.0 + jac_affine_1_1_WHITE_UP*jac_affine_1_2_WHITE_UP*-4.0 + jac_affine_2_1_WHITE_UP*jac_affine_2_2_WHITE_UP*-4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_1_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*-2.0 + jac_affine_1_1_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*-2.0 + jac_affine_2_1_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_2_WHITE_UP*jac_affine_0_2_WHITE_UP)*4.0 + (jac_affine_1_2_WHITE_UP*jac_affine_1_2_WHITE_UP)*4.0 + (jac_affine_2_2_WHITE_UP*jac_affine_2_2_WHITE_UP)*4.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(jac_affine_0_2_WHITE_UP*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*2.0 + jac_affine_1_2_WHITE_UP*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*2.0 + jac_affine_2_2_WHITE_UP*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)) + ((jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)) + ((jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*-2.0 + jac_affine_0_1_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*-2.0 + jac_affine_1_1_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*-2.0 + jac_affine_2_1_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)) + ((jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)) + ((jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_UP)*((jac_affine_0_0_WHITE_UP*2.0 + jac_affine_0_2_WHITE_UP*-2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0) + (jac_affine_1_0_WHITE_UP*2.0 + jac_affine_1_2_WHITE_UP*-2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0) + (jac_affine_2_0_WHITE_UP*2.0 + jac_affine_2_2_WHITE_UP*-2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)), 1.0 / (abs_det_jac_affine_WHITE_UP)*(((jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)*(jac_affine_0_1_WHITE_UP*-2.0 + jac_affine_0_2_WHITE_UP*2.0)) + ((jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)*(jac_affine_1_1_WHITE_UP*-2.0 + jac_affine_1_2_WHITE_UP*2.0)) + ((jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)*(jac_affine_2_1_WHITE_UP*-2.0 + jac_affine_2_2_WHITE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_UP))*0.0015946483738042789), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_UP))*0.67498144007199123), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_0_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_0_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_1_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_1_WHITE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_1_2_WHITE_UP*0.10706287727117962 + jac_affine_inv_2_2_WHITE_UP))*0.019180701709517984), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_0_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_0_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_1_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_1_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_1_2_WHITE_UP*0.01482761006242336 + jac_affine_inv_2_2_WHITE_UP*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_UP*0.2440897647089616 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_0_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_0_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_0_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_0_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_1_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_1_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_1_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_1_WHITE_UP*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_UP*0.039933048641498423 + jac_affine_inv_1_2_WHITE_UP*0.16359984896995686 + jac_affine_inv_2_2_WHITE_UP*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_UP*0.94523934129607823 + jac_affine_inv_1_2_WHITE_UP*0.82157254096761978 + jac_affine_inv_2_2_WHITE_UP*0.82157254096761978)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_0_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_1_WHITE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.86916879680558901 + jac_affine_inv_2_2_WHITE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_UP))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_UP))*0.024315138068613663), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_0_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_0_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_1_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_1_WHITE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_1_2_WHITE_UP*0.010469219979953731 + jac_affine_inv_2_2_WHITE_UP))*0.21372269856705545), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_UP*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_UP*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_UP*0.45490121496118757 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_0_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_0_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_0_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_0_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_1_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_1_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_1_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_1_WHITE_UP*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_UP*0.3817653560693467 + jac_affine_inv_1_2_WHITE_UP*0.83922694315494217 + jac_affine_inv_2_2_WHITE_UP*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_UP*0.61339470758478154 + jac_affine_inv_1_2_WHITE_UP*0.15593312049918601 + jac_affine_inv_2_2_WHITE_UP*0.15593312049918601)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_0_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_1_WHITE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.25421334512840316 + jac_affine_inv_2_2_WHITE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_UP))*0.032410690545436105), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_0_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_0_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_1_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_1_WHITE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_1_2_WHITE_UP*0.55068466281655948 + jac_affine_inv_2_2_WHITE_UP))*0.6610455395250987), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_0_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_0_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_1_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_1_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_1_2_WHITE_UP*0.44773255210137269 + jac_affine_inv_2_2_WHITE_UP*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_UP*0.01859896126067373 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_0_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_0_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_0_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_1_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_1_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_1_WHITE_UP*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_UP*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_UP*0.37223775438826195 + jac_affine_inv_2_2_WHITE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_UP*0.54534421232499986 + jac_affine_inv_1_2_WHITE_UP*0.18002969351036541 + jac_affine_inv_2_2_WHITE_UP*0.18002969351036541)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_0_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_1_WHITE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.33012121416459822 + jac_affine_inv_2_2_WHITE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_1_0_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_1_1_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_1_2_WHITE_UP*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_UP))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_UP*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP)*(jac_affine_inv_0_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_0_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_0_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP)*(jac_affine_inv_0_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_1_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_1_WHITE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP)*(jac_affine_inv_0_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_1_2_WHITE_UP*0.99893688622568233 + jac_affine_inv_2_2_WHITE_UP))*0.12476568502206307), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_0_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_0_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_1_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_1_WHITE_UP*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_1_2_WHITE_UP*0.35284634870858678 + jac_affine_inv_2_2_WHITE_UP*0.35322186373731607)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_2_0_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_2_1_WHITE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_UP*0.99912889150836071 + jac_affine_inv_1_2_WHITE_UP + jac_affine_inv_2_2_WHITE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_0_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_0_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_0_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_0_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_1_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_1_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_1_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_1_WHITE_UP*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_UP*0.21645194421357716 + jac_affine_inv_1_2_WHITE_UP*0.21607642918484779 + jac_affine_inv_2_2_WHITE_UP*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_UP*0.43070170707783612 + jac_affine_inv_1_2_WHITE_UP*0.43107722210656541 + jac_affine_inv_2_2_WHITE_UP*0.43070170707783612)), abs_det_jac_affine_WHITE_UP*(((jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_UP + jac_affine_inv_1_0_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_0_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_1_WHITE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*0.99826513441543008 + jac_affine_inv_2_2_WHITE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_UP[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_UP[4*q] + beta_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + + std::vector< uint_t > _data_rowIdx( 6 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< walberla::float64 > _data_mat( 36 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[4] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[5] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[1] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[2] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[3] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[4] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_src[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 */ + + const Eigen::DiagonalMatrix< real_t, 6 > basisTransformation = n1e1::macrocell::basisTransformation( level, cell, {ctr_0, ctr_1, ctr_2}, celldof::CellType::WHITE_UP ); + + _data_mat[0] = ((walberla::float64)((basisTransformation.diagonal()(0)*basisTransformation.diagonal()(0))*elMat_0_0)); + _data_mat[1] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_0_1)); + _data_mat[2] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_0_2)); + _data_mat[3] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_0_3)); + _data_mat[4] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_0_4)); + _data_mat[5] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_0_5)); + _data_mat[6] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_1_0)); + _data_mat[7] = ((walberla::float64)((basisTransformation.diagonal()(1)*basisTransformation.diagonal()(1))*elMat_1_1)); + _data_mat[8] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_1_2)); + _data_mat[9] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_1_3)); + _data_mat[10] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_1_4)); + _data_mat[11] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_1_5)); + _data_mat[12] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_2_0)); + _data_mat[13] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_2_1)); + _data_mat[14] = ((walberla::float64)((basisTransformation.diagonal()(2)*basisTransformation.diagonal()(2))*elMat_2_2)); + _data_mat[15] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_2_3)); + _data_mat[16] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_2_4)); + _data_mat[17] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_2_5)); + _data_mat[18] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_3_0)); + _data_mat[19] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_3_1)); + _data_mat[20] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_3_2)); + _data_mat[21] = ((walberla::float64)((basisTransformation.diagonal()(3)*basisTransformation.diagonal()(3))*elMat_3_3)); + _data_mat[22] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_3_4)); + _data_mat[23] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_3_5)); + _data_mat[24] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_4_0)); + _data_mat[25] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_4_1)); + _data_mat[26] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_4_2)); + _data_mat[27] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_4_3)); + _data_mat[28] = ((walberla::float64)((basisTransformation.diagonal()(4)*basisTransformation.diagonal()(4))*elMat_4_4)); + _data_mat[29] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_4_5)); + _data_mat[30] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_5_0)); + _data_mat[31] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_5_1)); + _data_mat[32] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_5_2)); + _data_mat[33] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_5_3)); + _data_mat[34] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_5_4)); + _data_mat[35] = ((walberla::float64)((basisTransformation.diagonal()(5)*basisTransformation.diagonal()(5))*elMat_5_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); + { + /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_WHITE_DOWN [] = {1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*jac_affine_0_0_WHITE_DOWN)*4.0 + (jac_affine_1_0_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN)*4.0 + (jac_affine_2_0_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN*-4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN*-4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*4.0 + jac_affine_1_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*4.0 + jac_affine_2_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_0_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_0_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_0_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_1_WHITE_DOWN*jac_affine_0_1_WHITE_DOWN)*4.0 + (jac_affine_1_1_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN)*4.0 + (jac_affine_2_1_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN*-4.0 + jac_affine_1_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN*-4.0 + jac_affine_2_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_1_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_1_1_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*-2.0 + jac_affine_2_1_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_2_WHITE_DOWN*jac_affine_0_2_WHITE_DOWN)*4.0 + (jac_affine_1_2_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN)*4.0 + (jac_affine_2_2_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(jac_affine_0_2_WHITE_DOWN*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*2.0 + jac_affine_1_2_WHITE_DOWN*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*2.0 + jac_affine_2_2_WHITE_DOWN*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)) + ((jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)) + ((jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*-2.0 + jac_affine_0_1_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*-2.0 + jac_affine_1_1_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*-2.0 + jac_affine_2_1_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)) + ((jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)) + ((jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*((jac_affine_0_0_WHITE_DOWN*2.0 + jac_affine_0_2_WHITE_DOWN*-2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0) + (jac_affine_1_0_WHITE_DOWN*2.0 + jac_affine_1_2_WHITE_DOWN*-2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0) + (jac_affine_2_0_WHITE_DOWN*2.0 + jac_affine_2_2_WHITE_DOWN*-2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_WHITE_DOWN)*(((jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)*(jac_affine_0_1_WHITE_DOWN*-2.0 + jac_affine_0_2_WHITE_DOWN*2.0)) + ((jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)*(jac_affine_1_1_WHITE_DOWN*-2.0 + jac_affine_1_2_WHITE_DOWN*2.0)) + ((jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)*(jac_affine_2_1_WHITE_DOWN*-2.0 + jac_affine_2_2_WHITE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_WHITE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_WHITE_DOWN))*0.0015946483738042789), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_WHITE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_WHITE_DOWN))*0.67498144007199123), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_WHITE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_WHITE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_WHITE_DOWN))*0.019180701709517984), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_WHITE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_WHITE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_WHITE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_WHITE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_WHITE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_WHITE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_WHITE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_WHITE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_WHITE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_WHITE_DOWN*0.82157254096761978)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_WHITE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_WHITE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_WHITE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_WHITE_DOWN))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_WHITE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_WHITE_DOWN))*0.024315138068613663), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_WHITE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_WHITE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_WHITE_DOWN))*0.21372269856705545), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_WHITE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_WHITE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_WHITE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_WHITE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_WHITE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_WHITE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_WHITE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_WHITE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_WHITE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_WHITE_DOWN*0.15593312049918601)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_WHITE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_WHITE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_WHITE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_WHITE_DOWN))*0.032410690545436105), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_WHITE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_WHITE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_WHITE_DOWN))*0.6610455395250987), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_WHITE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_WHITE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_WHITE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_WHITE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_WHITE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_WHITE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_WHITE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_WHITE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_WHITE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_WHITE_DOWN*0.18002969351036541)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_WHITE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_WHITE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_1_0_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_1_1_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_WHITE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_1_2_WHITE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_WHITE_DOWN))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_WHITE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN)*(jac_affine_inv_0_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN)*(jac_affine_inv_0_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_WHITE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN)*(jac_affine_inv_0_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_WHITE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_WHITE_DOWN))*0.12476568502206307), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_WHITE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_WHITE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_WHITE_DOWN*0.35322186373731607)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_2_0_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_2_1_WHITE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_WHITE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_WHITE_DOWN + jac_affine_inv_2_2_WHITE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_WHITE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_WHITE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_WHITE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_WHITE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_WHITE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_WHITE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_WHITE_DOWN*0.43070170707783612)), abs_det_jac_affine_WHITE_DOWN*(((jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_WHITE_DOWN + jac_affine_inv_1_0_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_WHITE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_WHITE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_WHITE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_WHITE_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + + std::vector< uint_t > _data_rowIdx( 6 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< walberla::float64 > _data_mat( 36 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6)) + 1])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[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)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_rowIdx[4] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[5] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_src[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[1] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[2] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[3] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[4] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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 */ + + const Eigen::DiagonalMatrix< real_t, 6 > basisTransformation = n1e1::macrocell::basisTransformation( level, cell, {ctr_0, ctr_1, ctr_2}, celldof::CellType::WHITE_DOWN ); + + _data_mat[0] = ((walberla::float64)((basisTransformation.diagonal()(0)*basisTransformation.diagonal()(0))*elMat_0_0)); + _data_mat[1] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_0_1)); + _data_mat[2] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_0_2)); + _data_mat[3] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_0_3)); + _data_mat[4] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_0_4)); + _data_mat[5] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_0_5)); + _data_mat[6] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_1_0)); + _data_mat[7] = ((walberla::float64)((basisTransformation.diagonal()(1)*basisTransformation.diagonal()(1))*elMat_1_1)); + _data_mat[8] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_1_2)); + _data_mat[9] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_1_3)); + _data_mat[10] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_1_4)); + _data_mat[11] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_1_5)); + _data_mat[12] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_2_0)); + _data_mat[13] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_2_1)); + _data_mat[14] = ((walberla::float64)((basisTransformation.diagonal()(2)*basisTransformation.diagonal()(2))*elMat_2_2)); + _data_mat[15] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_2_3)); + _data_mat[16] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_2_4)); + _data_mat[17] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_2_5)); + _data_mat[18] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_3_0)); + _data_mat[19] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_3_1)); + _data_mat[20] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_3_2)); + _data_mat[21] = ((walberla::float64)((basisTransformation.diagonal()(3)*basisTransformation.diagonal()(3))*elMat_3_3)); + _data_mat[22] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_3_4)); + _data_mat[23] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_3_5)); + _data_mat[24] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_4_0)); + _data_mat[25] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_4_1)); + _data_mat[26] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_4_2)); + _data_mat[27] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_4_3)); + _data_mat[28] = ((walberla::float64)((basisTransformation.diagonal()(4)*basisTransformation.diagonal()(4))*elMat_4_4)); + _data_mat[29] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_4_5)); + _data_mat[30] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_5_0)); + _data_mat[31] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_5_1)); + _data_mat[32] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_5_2)); + _data_mat[33] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_5_3)); + _data_mat[34] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_5_4)); + _data_mat[35] = ((walberla::float64)((basisTransformation.diagonal()(5)*basisTransformation.diagonal()(5))*elMat_5_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); + { + /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_UP [] = {1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*jac_affine_0_0_BLUE_UP)*4.0 + (jac_affine_1_0_BLUE_UP*jac_affine_1_0_BLUE_UP)*4.0 + (jac_affine_2_0_BLUE_UP*jac_affine_2_0_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_1_BLUE_UP*-4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_1_BLUE_UP*-4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_1_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*jac_affine_0_2_BLUE_UP*4.0 + jac_affine_1_0_BLUE_UP*jac_affine_1_2_BLUE_UP*4.0 + jac_affine_2_0_BLUE_UP*jac_affine_2_2_BLUE_UP*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_0_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_0_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_0_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_1_BLUE_UP*jac_affine_0_1_BLUE_UP)*4.0 + (jac_affine_1_1_BLUE_UP*jac_affine_1_1_BLUE_UP)*4.0 + (jac_affine_2_1_BLUE_UP*jac_affine_2_1_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*jac_affine_0_2_BLUE_UP*-4.0 + jac_affine_1_1_BLUE_UP*jac_affine_1_2_BLUE_UP*-4.0 + jac_affine_2_1_BLUE_UP*jac_affine_2_2_BLUE_UP*-4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_1_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*-2.0 + jac_affine_1_1_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*-2.0 + jac_affine_2_1_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_2_BLUE_UP*jac_affine_0_2_BLUE_UP)*4.0 + (jac_affine_1_2_BLUE_UP*jac_affine_1_2_BLUE_UP)*4.0 + (jac_affine_2_2_BLUE_UP*jac_affine_2_2_BLUE_UP)*4.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(jac_affine_0_2_BLUE_UP*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*2.0 + jac_affine_1_2_BLUE_UP*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*2.0 + jac_affine_2_2_BLUE_UP*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)) + ((jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)) + ((jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*-2.0 + jac_affine_0_1_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*-2.0 + jac_affine_1_1_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*-2.0 + jac_affine_2_1_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)) + ((jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)) + ((jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_UP)*((jac_affine_0_0_BLUE_UP*2.0 + jac_affine_0_2_BLUE_UP*-2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0) + (jac_affine_1_0_BLUE_UP*2.0 + jac_affine_1_2_BLUE_UP*-2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0) + (jac_affine_2_0_BLUE_UP*2.0 + jac_affine_2_2_BLUE_UP*-2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)), 1.0 / (abs_det_jac_affine_BLUE_UP)*(((jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)*(jac_affine_0_1_BLUE_UP*-2.0 + jac_affine_0_2_BLUE_UP*2.0)) + ((jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)*(jac_affine_1_1_BLUE_UP*-2.0 + jac_affine_1_2_BLUE_UP*2.0)) + ((jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)*(jac_affine_2_1_BLUE_UP*-2.0 + jac_affine_2_2_BLUE_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_UP))*0.0015946483738042789), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_UP))*0.67498144007199123), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_0_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_0_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_1_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_1_BLUE_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_1_2_BLUE_UP*0.10706287727117962 + jac_affine_inv_2_2_BLUE_UP))*0.019180701709517984), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_0_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_0_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_1_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_1_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_1_2_BLUE_UP*0.01482761006242336 + jac_affine_inv_2_2_BLUE_UP*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_UP*0.2440897647089616 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_0_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_0_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_0_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_0_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_1_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_1_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_1_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_1_BLUE_UP*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_UP*0.039933048641498423 + jac_affine_inv_1_2_BLUE_UP*0.16359984896995686 + jac_affine_inv_2_2_BLUE_UP*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_UP*0.94523934129607823 + jac_affine_inv_1_2_BLUE_UP*0.82157254096761978 + jac_affine_inv_2_2_BLUE_UP*0.82157254096761978)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_0_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_1_BLUE_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.86916879680558901 + jac_affine_inv_2_2_BLUE_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_UP))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_UP))*0.024315138068613663), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_0_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_0_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_1_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_1_BLUE_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_1_2_BLUE_UP*0.010469219979953731 + jac_affine_inv_2_2_BLUE_UP))*0.21372269856705545), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_UP*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_UP*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_UP*0.45490121496118757 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_0_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_0_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_0_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_0_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_1_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_1_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_1_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_1_BLUE_UP*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_UP*0.3817653560693467 + jac_affine_inv_1_2_BLUE_UP*0.83922694315494217 + jac_affine_inv_2_2_BLUE_UP*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_UP*0.61339470758478154 + jac_affine_inv_1_2_BLUE_UP*0.15593312049918601 + jac_affine_inv_2_2_BLUE_UP*0.15593312049918601)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_0_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_1_BLUE_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.25421334512840316 + jac_affine_inv_2_2_BLUE_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_UP))*0.032410690545436105), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_0_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_0_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_1_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_1_BLUE_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_1_2_BLUE_UP*0.55068466281655948 + jac_affine_inv_2_2_BLUE_UP))*0.6610455395250987), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_0_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_0_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_1_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_1_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_1_2_BLUE_UP*0.44773255210137269 + jac_affine_inv_2_2_BLUE_UP*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_UP*0.01859896126067373 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_0_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_0_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_0_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_1_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_1_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_1_BLUE_UP*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_UP*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_UP*0.37223775438826195 + jac_affine_inv_2_2_BLUE_UP*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_UP*0.54534421232499986 + jac_affine_inv_1_2_BLUE_UP*0.18002969351036541 + jac_affine_inv_2_2_BLUE_UP*0.18002969351036541)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_0_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_1_BLUE_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.33012121416459822 + jac_affine_inv_2_2_BLUE_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_1_0_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_1_1_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_1_2_BLUE_UP*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_UP))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_UP*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP)*(jac_affine_inv_0_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_0_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_0_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP)*(jac_affine_inv_0_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_1_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_1_BLUE_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP)*(jac_affine_inv_0_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_1_2_BLUE_UP*0.99893688622568233 + jac_affine_inv_2_2_BLUE_UP))*0.12476568502206307), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_0_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_0_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_1_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_1_BLUE_UP*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_1_2_BLUE_UP*0.35284634870858678 + jac_affine_inv_2_2_BLUE_UP*0.35322186373731607)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_2_0_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_2_1_BLUE_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_UP*0.99912889150836071 + jac_affine_inv_1_2_BLUE_UP + jac_affine_inv_2_2_BLUE_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_0_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_0_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_0_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_0_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_1_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_1_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_1_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_1_BLUE_UP*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_UP*0.21645194421357716 + jac_affine_inv_1_2_BLUE_UP*0.21607642918484779 + jac_affine_inv_2_2_BLUE_UP*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_UP*0.43070170707783612 + jac_affine_inv_1_2_BLUE_UP*0.43107722210656541 + jac_affine_inv_2_2_BLUE_UP*0.43070170707783612)), abs_det_jac_affine_BLUE_UP*(((jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_UP + jac_affine_inv_1_0_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_0_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_1_BLUE_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*0.99826513441543008 + jac_affine_inv_2_2_BLUE_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_UP[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_UP[4*q] + beta_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + + std::vector< uint_t > _data_rowIdx( 6 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< walberla::float64 > _data_mat( 36 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[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)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_rowIdx[4] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_rowIdx[5] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[1] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[2] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[3] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[4] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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 */ + + const Eigen::DiagonalMatrix< real_t, 6 > basisTransformation = n1e1::macrocell::basisTransformation( level, cell, {ctr_0, ctr_1, ctr_2}, celldof::CellType::BLUE_UP ); + + _data_mat[0] = ((walberla::float64)((basisTransformation.diagonal()(0)*basisTransformation.diagonal()(0))*elMat_0_0)); + _data_mat[1] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_0_1)); + _data_mat[2] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_0_2)); + _data_mat[3] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_0_3)); + _data_mat[4] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_0_4)); + _data_mat[5] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_0_5)); + _data_mat[6] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_1_0)); + _data_mat[7] = ((walberla::float64)((basisTransformation.diagonal()(1)*basisTransformation.diagonal()(1))*elMat_1_1)); + _data_mat[8] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_1_2)); + _data_mat[9] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_1_3)); + _data_mat[10] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_1_4)); + _data_mat[11] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_1_5)); + _data_mat[12] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_2_0)); + _data_mat[13] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_2_1)); + _data_mat[14] = ((walberla::float64)((basisTransformation.diagonal()(2)*basisTransformation.diagonal()(2))*elMat_2_2)); + _data_mat[15] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_2_3)); + _data_mat[16] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_2_4)); + _data_mat[17] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_2_5)); + _data_mat[18] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_3_0)); + _data_mat[19] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_3_1)); + _data_mat[20] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_3_2)); + _data_mat[21] = ((walberla::float64)((basisTransformation.diagonal()(3)*basisTransformation.diagonal()(3))*elMat_3_3)); + _data_mat[22] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_3_4)); + _data_mat[23] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_3_5)); + _data_mat[24] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_4_0)); + _data_mat[25] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_4_1)); + _data_mat[26] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_4_2)); + _data_mat[27] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_4_3)); + _data_mat[28] = ((walberla::float64)((basisTransformation.diagonal()(4)*basisTransformation.diagonal()(4))*elMat_4_4)); + _data_mat[29] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_4_5)); + _data_mat[30] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_5_0)); + _data_mat[31] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_5_1)); + _data_mat[32] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_5_2)); + _data_mat[33] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_5_3)); + _data_mat[34] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_5_4)); + _data_mat[35] = ((walberla::float64)((basisTransformation.diagonal()(5)*basisTransformation.diagonal()(5))*elMat_5_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); + { + /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_BLUE_DOWN [] = {1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*jac_affine_0_0_BLUE_DOWN)*4.0 + (jac_affine_1_0_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN)*4.0 + (jac_affine_2_0_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN*-4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN*-4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*4.0 + jac_affine_1_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*4.0 + jac_affine_2_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_0_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_0_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_0_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_1_BLUE_DOWN*jac_affine_0_1_BLUE_DOWN)*4.0 + (jac_affine_1_1_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN)*4.0 + (jac_affine_2_1_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN*-4.0 + jac_affine_1_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN*-4.0 + jac_affine_2_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN*-4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_1_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_1_1_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*-2.0 + jac_affine_2_1_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_2_BLUE_DOWN*jac_affine_0_2_BLUE_DOWN)*4.0 + (jac_affine_1_2_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN)*4.0 + (jac_affine_2_2_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN)*4.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(jac_affine_0_2_BLUE_DOWN*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*2.0 + jac_affine_1_2_BLUE_DOWN*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*2.0 + jac_affine_2_2_BLUE_DOWN*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)) + ((jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)) + ((jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*-2.0 + jac_affine_0_1_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*-2.0 + jac_affine_1_1_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*-2.0 + jac_affine_2_1_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)) + ((jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)) + ((jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*((jac_affine_0_0_BLUE_DOWN*2.0 + jac_affine_0_2_BLUE_DOWN*-2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0) + (jac_affine_1_0_BLUE_DOWN*2.0 + jac_affine_1_2_BLUE_DOWN*-2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0) + (jac_affine_2_0_BLUE_DOWN*2.0 + jac_affine_2_2_BLUE_DOWN*-2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)), 1.0 / (abs_det_jac_affine_BLUE_DOWN)*(((jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)*(jac_affine_0_1_BLUE_DOWN*-2.0 + jac_affine_0_2_BLUE_DOWN*2.0)) + ((jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)*(jac_affine_1_1_BLUE_DOWN*-2.0 + jac_affine_1_2_BLUE_DOWN*2.0)) + ((jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)*(jac_affine_2_1_BLUE_DOWN*-2.0 + jac_affine_2_2_BLUE_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_BLUE_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_BLUE_DOWN))*0.0015946483738042789), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_BLUE_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_BLUE_DOWN))*0.67498144007199123), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_0_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_0_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_1_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_1_BLUE_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_1_2_BLUE_DOWN*0.10706287727117962 + jac_affine_inv_2_2_BLUE_DOWN))*0.019180701709517984), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_0_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_0_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_1_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_1_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_1_2_BLUE_DOWN*0.01482761006242336 + jac_affine_inv_2_2_BLUE_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_BLUE_DOWN*0.2440897647089616 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_0_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_0_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_0_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_0_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_1_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_1_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_1_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_1_BLUE_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_BLUE_DOWN*0.039933048641498423 + jac_affine_inv_1_2_BLUE_DOWN*0.16359984896995686 + jac_affine_inv_2_2_BLUE_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_BLUE_DOWN*0.94523934129607823 + jac_affine_inv_1_2_BLUE_DOWN*0.82157254096761978 + jac_affine_inv_2_2_BLUE_DOWN*0.82157254096761978)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_0_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_1_BLUE_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.86916879680558901 + jac_affine_inv_2_2_BLUE_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_BLUE_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_BLUE_DOWN))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_BLUE_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_BLUE_DOWN))*0.024315138068613663), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_0_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_0_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_1_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_1_BLUE_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_1_2_BLUE_DOWN*0.010469219979953731 + jac_affine_inv_2_2_BLUE_DOWN))*0.21372269856705545), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_BLUE_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_BLUE_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_BLUE_DOWN*0.45490121496118757 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_0_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_0_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_0_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_0_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_1_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_1_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_1_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_1_BLUE_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_BLUE_DOWN*0.3817653560693467 + jac_affine_inv_1_2_BLUE_DOWN*0.83922694315494217 + jac_affine_inv_2_2_BLUE_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_BLUE_DOWN*0.61339470758478154 + jac_affine_inv_1_2_BLUE_DOWN*0.15593312049918601 + jac_affine_inv_2_2_BLUE_DOWN*0.15593312049918601)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_0_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_1_BLUE_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.25421334512840316 + jac_affine_inv_2_2_BLUE_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_BLUE_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_BLUE_DOWN))*0.032410690545436105), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_0_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_0_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_1_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_1_BLUE_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_1_2_BLUE_DOWN*0.55068466281655948 + jac_affine_inv_2_2_BLUE_DOWN))*0.6610455395250987), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_0_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_0_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_1_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_1_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_1_2_BLUE_DOWN*0.44773255210137269 + jac_affine_inv_2_2_BLUE_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_BLUE_DOWN*0.01859896126067373 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_0_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_0_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_0_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_1_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_1_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_1_BLUE_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_BLUE_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_BLUE_DOWN*0.37223775438826195 + jac_affine_inv_2_2_BLUE_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_BLUE_DOWN*0.54534421232499986 + jac_affine_inv_1_2_BLUE_DOWN*0.18002969351036541 + jac_affine_inv_2_2_BLUE_DOWN*0.18002969351036541)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_0_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_1_BLUE_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.33012121416459822 + jac_affine_inv_2_2_BLUE_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_1_0_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_1_1_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_BLUE_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_1_2_BLUE_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_BLUE_DOWN))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_BLUE_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN)*(jac_affine_inv_0_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_0_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_0_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN)*(jac_affine_inv_0_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_1_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_1_BLUE_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN)*(jac_affine_inv_0_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_1_2_BLUE_DOWN*0.99893688622568233 + jac_affine_inv_2_2_BLUE_DOWN))*0.12476568502206307), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_0_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_0_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_1_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_1_BLUE_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_1_2_BLUE_DOWN*0.35284634870858678 + jac_affine_inv_2_2_BLUE_DOWN*0.35322186373731607)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_2_0_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_2_1_BLUE_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_BLUE_DOWN*0.99912889150836071 + jac_affine_inv_1_2_BLUE_DOWN + jac_affine_inv_2_2_BLUE_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_0_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_0_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_0_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_0_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_1_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_1_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_1_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_1_BLUE_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_BLUE_DOWN*0.21645194421357716 + jac_affine_inv_1_2_BLUE_DOWN*0.21607642918484779 + jac_affine_inv_2_2_BLUE_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_BLUE_DOWN*0.43070170707783612 + jac_affine_inv_1_2_BLUE_DOWN*0.43107722210656541 + jac_affine_inv_2_2_BLUE_DOWN*0.43070170707783612)), abs_det_jac_affine_BLUE_DOWN*(((jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_BLUE_DOWN + jac_affine_inv_1_0_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_0_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_1_BLUE_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*0.99826513441543008 + jac_affine_inv_2_2_BLUE_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + beta_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_BLUE_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_BLUE_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + + std::vector< uint_t > _data_rowIdx( 6 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< walberla::float64 > _data_mat( 36 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[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)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[4] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[5] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[1] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 2*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[2] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[3] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[4] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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 */ + + const Eigen::DiagonalMatrix< real_t, 6 > basisTransformation = n1e1::macrocell::basisTransformation( level, cell, {ctr_0, ctr_1, ctr_2}, celldof::CellType::BLUE_DOWN ); + + _data_mat[0] = ((walberla::float64)((basisTransformation.diagonal()(0)*basisTransformation.diagonal()(0))*elMat_0_0)); + _data_mat[1] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_0_1)); + _data_mat[2] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_0_2)); + _data_mat[3] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_0_3)); + _data_mat[4] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_0_4)); + _data_mat[5] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_0_5)); + _data_mat[6] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_1_0)); + _data_mat[7] = ((walberla::float64)((basisTransformation.diagonal()(1)*basisTransformation.diagonal()(1))*elMat_1_1)); + _data_mat[8] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_1_2)); + _data_mat[9] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_1_3)); + _data_mat[10] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_1_4)); + _data_mat[11] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_1_5)); + _data_mat[12] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_2_0)); + _data_mat[13] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_2_1)); + _data_mat[14] = ((walberla::float64)((basisTransformation.diagonal()(2)*basisTransformation.diagonal()(2))*elMat_2_2)); + _data_mat[15] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_2_3)); + _data_mat[16] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_2_4)); + _data_mat[17] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_2_5)); + _data_mat[18] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_3_0)); + _data_mat[19] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_3_1)); + _data_mat[20] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_3_2)); + _data_mat[21] = ((walberla::float64)((basisTransformation.diagonal()(3)*basisTransformation.diagonal()(3))*elMat_3_3)); + _data_mat[22] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_3_4)); + _data_mat[23] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_3_5)); + _data_mat[24] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_4_0)); + _data_mat[25] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_4_1)); + _data_mat[26] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_4_2)); + _data_mat[27] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_4_3)); + _data_mat[28] = ((walberla::float64)((basisTransformation.diagonal()(4)*basisTransformation.diagonal()(4))*elMat_4_4)); + _data_mat[29] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_4_5)); + _data_mat[30] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_5_0)); + _data_mat[31] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_5_1)); + _data_mat[32] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_5_2)); + _data_mat[33] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_5_3)); + _data_mat[34] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_5_4)); + _data_mat[35] = ((walberla::float64)((basisTransformation.diagonal()(5)*basisTransformation.diagonal()(5))*elMat_5_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); + { + /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_UP [] = {1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*jac_affine_0_0_GREEN_UP)*4.0 + (jac_affine_1_0_GREEN_UP*jac_affine_1_0_GREEN_UP)*4.0 + (jac_affine_2_0_GREEN_UP*jac_affine_2_0_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_1_GREEN_UP*-4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_1_GREEN_UP*-4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_1_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*jac_affine_0_2_GREEN_UP*4.0 + jac_affine_1_0_GREEN_UP*jac_affine_1_2_GREEN_UP*4.0 + jac_affine_2_0_GREEN_UP*jac_affine_2_2_GREEN_UP*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_0_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_0_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_0_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_1_GREEN_UP*jac_affine_0_1_GREEN_UP)*4.0 + (jac_affine_1_1_GREEN_UP*jac_affine_1_1_GREEN_UP)*4.0 + (jac_affine_2_1_GREEN_UP*jac_affine_2_1_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*jac_affine_0_2_GREEN_UP*-4.0 + jac_affine_1_1_GREEN_UP*jac_affine_1_2_GREEN_UP*-4.0 + jac_affine_2_1_GREEN_UP*jac_affine_2_2_GREEN_UP*-4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_1_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*-2.0 + jac_affine_1_1_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*-2.0 + jac_affine_2_1_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_2_GREEN_UP*jac_affine_0_2_GREEN_UP)*4.0 + (jac_affine_1_2_GREEN_UP*jac_affine_1_2_GREEN_UP)*4.0 + (jac_affine_2_2_GREEN_UP*jac_affine_2_2_GREEN_UP)*4.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(jac_affine_0_2_GREEN_UP*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*2.0 + jac_affine_1_2_GREEN_UP*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*2.0 + jac_affine_2_2_GREEN_UP*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)) + ((jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)) + ((jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*-2.0 + jac_affine_0_1_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*-2.0 + jac_affine_1_1_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*-2.0 + jac_affine_2_1_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)) + ((jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)) + ((jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_UP)*((jac_affine_0_0_GREEN_UP*2.0 + jac_affine_0_2_GREEN_UP*-2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0) + (jac_affine_1_0_GREEN_UP*2.0 + jac_affine_1_2_GREEN_UP*-2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0) + (jac_affine_2_0_GREEN_UP*2.0 + jac_affine_2_2_GREEN_UP*-2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)), 1.0 / (abs_det_jac_affine_GREEN_UP)*(((jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)*(jac_affine_0_1_GREEN_UP*-2.0 + jac_affine_0_2_GREEN_UP*2.0)) + ((jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)*(jac_affine_1_1_GREEN_UP*-2.0 + jac_affine_1_2_GREEN_UP*2.0)) + ((jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)*(jac_affine_2_1_GREEN_UP*-2.0 + jac_affine_2_2_GREEN_UP*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_UP))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_UP))*0.0015946483738042789), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_UP))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_UP))*0.67498144007199123), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_0_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_0_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_1_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_1_GREEN_UP))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_1_2_GREEN_UP*0.10706287727117962 + jac_affine_inv_2_2_GREEN_UP))*0.019180701709517984), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_0_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_0_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_1_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_1_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_1_2_GREEN_UP*0.01482761006242336 + jac_affine_inv_2_2_GREEN_UP*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_UP*0.2440897647089616 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_0_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_0_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_0_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_0_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_1_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_1_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_1_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_1_GREEN_UP*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_UP*0.039933048641498423 + jac_affine_inv_1_2_GREEN_UP*0.16359984896995686 + jac_affine_inv_2_2_GREEN_UP*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_UP*0.94523934129607823 + jac_affine_inv_1_2_GREEN_UP*0.82157254096761978 + jac_affine_inv_2_2_GREEN_UP*0.82157254096761978)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_0_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_1_GREEN_UP*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.86916879680558901 + jac_affine_inv_2_2_GREEN_UP*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_UP))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_UP))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_UP))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_UP))*0.024315138068613663), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_0_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_0_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_1_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_1_GREEN_UP))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_1_2_GREEN_UP*0.010469219979953731 + jac_affine_inv_2_2_GREEN_UP))*0.21372269856705545), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_UP*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_UP*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_UP*0.45490121496118757 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_0_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_0_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_0_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_0_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_1_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_1_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_1_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_1_GREEN_UP*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_UP*0.3817653560693467 + jac_affine_inv_1_2_GREEN_UP*0.83922694315494217 + jac_affine_inv_2_2_GREEN_UP*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_UP*0.61339470758478154 + jac_affine_inv_1_2_GREEN_UP*0.15593312049918601 + jac_affine_inv_2_2_GREEN_UP*0.15593312049918601)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_0_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_1_GREEN_UP*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.25421334512840316 + jac_affine_inv_2_2_GREEN_UP*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_UP))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_UP))*0.032410690545436105), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_0_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_0_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_1_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_1_GREEN_UP))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_1_2_GREEN_UP*0.55068466281655948 + jac_affine_inv_2_2_GREEN_UP))*0.6610455395250987), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_0_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_0_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_1_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_1_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_1_2_GREEN_UP*0.44773255210137269 + jac_affine_inv_2_2_GREEN_UP*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_UP*0.01859896126067373 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_0_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_0_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_0_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_1_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_1_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_1_GREEN_UP*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_UP*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_UP*0.37223775438826195 + jac_affine_inv_2_2_GREEN_UP*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_UP*0.54534421232499986 + jac_affine_inv_1_2_GREEN_UP*0.18002969351036541 + jac_affine_inv_2_2_GREEN_UP*0.18002969351036541)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_0_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_1_GREEN_UP*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.33012121416459822 + jac_affine_inv_2_2_GREEN_UP*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_1_0_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_1_1_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_UP))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_1_2_GREEN_UP*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_UP))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_UP*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP)*(jac_affine_inv_0_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_0_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_0_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP)*(jac_affine_inv_0_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_1_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_1_GREEN_UP))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP)*(jac_affine_inv_0_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_1_2_GREEN_UP*0.99893688622568233 + jac_affine_inv_2_2_GREEN_UP))*0.12476568502206307), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_0_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_0_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_1_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_1_GREEN_UP*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_1_2_GREEN_UP*0.35284634870858678 + jac_affine_inv_2_2_GREEN_UP*0.35322186373731607)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_2_0_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_2_1_GREEN_UP*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_UP*0.99912889150836071 + jac_affine_inv_1_2_GREEN_UP + jac_affine_inv_2_2_GREEN_UP*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_0_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_0_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_0_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_0_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_1_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_1_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_1_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_1_GREEN_UP*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_UP*0.21645194421357716 + jac_affine_inv_1_2_GREEN_UP*0.21607642918484779 + jac_affine_inv_2_2_GREEN_UP*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_UP*0.43070170707783612 + jac_affine_inv_1_2_GREEN_UP*0.43107722210656541 + jac_affine_inv_2_2_GREEN_UP*0.43070170707783612)), abs_det_jac_affine_GREEN_UP*(((jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_UP + jac_affine_inv_1_0_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_0_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_1_GREEN_UP*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*0.99826513441543008 + jac_affine_inv_2_2_GREEN_UP*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_UP[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_UP[4*q] + beta_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_UP[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_UP[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + + std::vector< uint_t > _data_rowIdx( 6 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< walberla::float64 > _data_mat( 36 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_rowIdx[4] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[5] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[1] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[2] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[3] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[4] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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 */ + + const Eigen::DiagonalMatrix< real_t, 6 > basisTransformation = n1e1::macrocell::basisTransformation( level, cell, {ctr_0, ctr_1, ctr_2}, celldof::CellType::GREEN_UP ); + + _data_mat[0] = ((walberla::float64)((basisTransformation.diagonal()(0)*basisTransformation.diagonal()(0))*elMat_0_0)); + _data_mat[1] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_0_1)); + _data_mat[2] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_0_2)); + _data_mat[3] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_0_3)); + _data_mat[4] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_0_4)); + _data_mat[5] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_0_5)); + _data_mat[6] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_1_0)); + _data_mat[7] = ((walberla::float64)((basisTransformation.diagonal()(1)*basisTransformation.diagonal()(1))*elMat_1_1)); + _data_mat[8] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_1_2)); + _data_mat[9] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_1_3)); + _data_mat[10] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_1_4)); + _data_mat[11] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_1_5)); + _data_mat[12] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_2_0)); + _data_mat[13] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_2_1)); + _data_mat[14] = ((walberla::float64)((basisTransformation.diagonal()(2)*basisTransformation.diagonal()(2))*elMat_2_2)); + _data_mat[15] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_2_3)); + _data_mat[16] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_2_4)); + _data_mat[17] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_2_5)); + _data_mat[18] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_3_0)); + _data_mat[19] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_3_1)); + _data_mat[20] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_3_2)); + _data_mat[21] = ((walberla::float64)((basisTransformation.diagonal()(3)*basisTransformation.diagonal()(3))*elMat_3_3)); + _data_mat[22] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_3_4)); + _data_mat[23] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_3_5)); + _data_mat[24] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_4_0)); + _data_mat[25] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_4_1)); + _data_mat[26] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_4_2)); + _data_mat[27] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_4_3)); + _data_mat[28] = ((walberla::float64)((basisTransformation.diagonal()(4)*basisTransformation.diagonal()(4))*elMat_4_4)); + _data_mat[29] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_4_5)); + _data_mat[30] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_5_0)); + _data_mat[31] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_5_1)); + _data_mat[32] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_5_2)); + _data_mat[33] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_5_3)); + _data_mat[34] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_5_4)); + _data_mat[35] = ((walberla::float64)((basisTransformation.diagonal()(5)*basisTransformation.diagonal()(5))*elMat_5_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); + { + /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.12366680032845842, 0.82157254096761978, 0.039933048641498423, 0.01482761006242336, 0.45746158708559548, 0.15593312049918601, 0.3817653560693467, 0.0048399363458717648, 0.36531451881463445, 0.18002969351036541, 0.0069232355736274674, 0.44773255210137269, 0.00037551502872928966, 0.21607642918484779, 0.43070170707783612, 0.35284634870858678}; + + const walberla::float64 _data_curl_curl_det_0_0_GREEN_DOWN [] = {1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*jac_affine_0_0_GREEN_DOWN)*4.0 + (jac_affine_1_0_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN)*4.0 + (jac_affine_2_0_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN*-4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN*-4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*4.0 + jac_affine_1_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*4.0 + jac_affine_2_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_0_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_0_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_0_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_1_GREEN_DOWN*jac_affine_0_1_GREEN_DOWN)*4.0 + (jac_affine_1_1_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN)*4.0 + (jac_affine_2_1_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN*-4.0 + jac_affine_1_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN*-4.0 + jac_affine_2_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN*-4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_1_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_1_1_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*-2.0 + jac_affine_2_1_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*-2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_2_GREEN_DOWN*jac_affine_0_2_GREEN_DOWN)*4.0 + (jac_affine_1_2_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN)*4.0 + (jac_affine_2_2_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN)*4.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(jac_affine_0_2_GREEN_DOWN*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*2.0 + jac_affine_1_2_GREEN_DOWN*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*2.0 + jac_affine_2_2_GREEN_DOWN*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*2.0), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)) + ((jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)) + ((jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*-2.0 + jac_affine_0_1_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*-2.0 + jac_affine_1_1_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*-2.0 + jac_affine_2_1_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)) + ((jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)) + ((jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0))), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*((jac_affine_0_0_GREEN_DOWN*2.0 + jac_affine_0_2_GREEN_DOWN*-2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0) + (jac_affine_1_0_GREEN_DOWN*2.0 + jac_affine_1_2_GREEN_DOWN*-2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0) + (jac_affine_2_0_GREEN_DOWN*2.0 + jac_affine_2_2_GREEN_DOWN*-2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)), 1.0 / (abs_det_jac_affine_GREEN_DOWN)*(((jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)*(jac_affine_0_1_GREEN_DOWN*-2.0 + jac_affine_0_2_GREEN_DOWN*2.0)) + ((jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)*(jac_affine_1_1_GREEN_DOWN*-2.0 + jac_affine_1_2_GREEN_DOWN*2.0)) + ((jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)*(jac_affine_2_1_GREEN_DOWN*-2.0 + jac_affine_2_2_GREEN_DOWN*2.0)))}; + + const walberla::float64 _data_mass_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_0_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_1_GREEN_DOWN))*0.0015946483738042789 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.37131174720816351 + jac_affine_inv_2_2_GREEN_DOWN))*0.0015946483738042789), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_1_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.018047840358637001 + jac_affine_inv_2_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_0_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_1_GREEN_DOWN))*0.67498144007199123 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.048605627196920013 + jac_affine_inv_1_2_GREEN_DOWN))*0.67498144007199123), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*-0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_0_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_0_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_1_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_1_GREEN_DOWN))*0.019180701709517984 + ((jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_1_2_GREEN_DOWN*0.10706287727117962 + jac_affine_inv_2_2_GREEN_DOWN))*0.019180701709517984), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_0_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_0_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_1_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_1_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_1_2_GREEN_DOWN*0.01482761006242336 + jac_affine_inv_2_2_GREEN_DOWN*0.13849441039088178)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_0_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_1_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.2440897647089616))*0.026764910582992695 + ((jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616)*(jac_affine_inv_0_2_GREEN_DOWN*0.2440897647089616 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.2440897647089616))*0.026764910582992695), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_0_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_0_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_0_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_0_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_0_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_1_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_1_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_1_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_1_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_1_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_1_GREEN_DOWN*0.82157254096761978) + (jac_affine_inv_0_2_GREEN_DOWN*0.039933048641498423 + jac_affine_inv_1_2_GREEN_DOWN*0.16359984896995686 + jac_affine_inv_2_2_GREEN_DOWN*0.039933048641498423)*(jac_affine_inv_0_2_GREEN_DOWN*0.94523934129607823 + jac_affine_inv_1_2_GREEN_DOWN*0.82157254096761978 + jac_affine_inv_2_2_GREEN_DOWN*0.82157254096761978)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_0_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_1_GREEN_DOWN*0.86916879680558901))*0.89347741233384381 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.86916879680558901 + jac_affine_inv_2_2_GREEN_DOWN*0.86916879680558901))*0.89347741233384381), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_0_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_1_GREEN_DOWN))*0.14574478709475508 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.012677777773509136 + jac_affine_inv_2_2_GREEN_DOWN))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_1_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_0_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_1_GREEN_DOWN))*0.024315138068613663 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.031038539666093771 + jac_affine_inv_2_2_GREEN_DOWN))*0.024315138068613663), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.40845277870331731))*0.14574478709475508 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.40845277870331731))*0.14574478709475508), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*-0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_0_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_0_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_1_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_1_GREEN_DOWN))*0.21372269856705545 + ((jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_1_2_GREEN_DOWN*0.010469219979953731 + jac_affine_inv_2_2_GREEN_DOWN))*0.21372269856705545), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_0_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_0_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_1_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_1_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_1_2_GREEN_DOWN*0.0048399363458717648 + jac_affine_inv_2_2_GREEN_DOWN*0.46230152343146724)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_0_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_1_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.45490121496118757))*0.70430186211718859 + ((jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757)*(jac_affine_inv_0_2_GREEN_DOWN*0.45490121496118757 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.45490121496118757))*0.70430186211718859), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_0_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_0_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_0_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_0_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_0_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_1_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_1_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_1_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_1_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_1_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_1_GREEN_DOWN*0.15593312049918601) + (jac_affine_inv_0_2_GREEN_DOWN*0.3817653560693467 + jac_affine_inv_1_2_GREEN_DOWN*0.83922694315494217 + jac_affine_inv_2_2_GREEN_DOWN*0.3817653560693467)*(jac_affine_inv_0_2_GREEN_DOWN*0.61339470758478154 + jac_affine_inv_1_2_GREEN_DOWN*0.15593312049918601 + jac_affine_inv_2_2_GREEN_DOWN*0.15593312049918601)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_0_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_1_GREEN_DOWN*0.25421334512840316))*0.37625306729301966 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.25421334512840316 + jac_affine_inv_2_2_GREEN_DOWN*0.25421334512840316))*0.37625306729301966), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.015462881894859308))*0.20046443821120841 + ((-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308)*(-jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.015462881894859308))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_1_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.40209203611714223))*0.20046443821120841 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.40209203611714223))*0.20046443821120841), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_0_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_1_GREEN_DOWN))*0.032410690545436105 + ((jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*-0.03845607598742512 + jac_affine_inv_1_2_GREEN_DOWN))*0.032410690545436105), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*-0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_0_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_0_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_1_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_1_GREEN_DOWN))*0.6610455395250987 + ((jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_1_2_GREEN_DOWN*0.55068466281655948 + jac_affine_inv_2_2_GREEN_DOWN))*0.6610455395250987), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_0_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_0_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_1_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_1_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_1_2_GREEN_DOWN*0.44773255210137269 + jac_affine_inv_2_2_GREEN_DOWN*0.81304707091600714)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_0_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_1_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.01859896126067373))*0.13856094579201603 + ((jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373)*(jac_affine_inv_0_2_GREEN_DOWN*0.01859896126067373 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.01859896126067373))*0.13856094579201603), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_0_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_0_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_0_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_0_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_0_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_1_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_1_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_1_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_1_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_1_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_1_GREEN_DOWN*0.18002969351036541) + (jac_affine_inv_0_2_GREEN_DOWN*0.0069232355736274674 + jac_affine_inv_1_2_GREEN_DOWN*0.37223775438826195 + jac_affine_inv_2_2_GREEN_DOWN*0.0069232355736274674)*(jac_affine_inv_0_2_GREEN_DOWN*0.54534421232499986 + jac_affine_inv_1_2_GREEN_DOWN*0.18002969351036541 + jac_affine_inv_2_2_GREEN_DOWN*0.18002969351036541)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_0_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_1_GREEN_DOWN*0.33012121416459822))*0.29740030991637451 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.33012121416459822 + jac_affine_inv_2_2_GREEN_DOWN*0.33012121416459822))*0.29740030991637451), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_1_0_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_0_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_1_1_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_1_GREEN_DOWN))*0.18550396047976214 + ((jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_1_2_GREEN_DOWN*-0.81923601162978588 + jac_affine_inv_2_2_GREEN_DOWN))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_1_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.61238108308527162))*0.12450054579698162 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.61238108308527162))*0.12450054579698162), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.50168463610430647))*0.18550396047976214 + ((-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647)*(-jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.50168463610430647))*0.18550396047976214), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_1_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779) + (jac_affine_inv_0_2_GREEN_DOWN*-0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN)*(jac_affine_inv_0_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_0_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_0_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN)*(jac_affine_inv_0_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_1_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_1_GREEN_DOWN))*0.12476568502206307 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN)*(jac_affine_inv_0_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_1_2_GREEN_DOWN*0.99893688622568233 + jac_affine_inv_2_2_GREEN_DOWN))*0.12476568502206307), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_0_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_0_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_1_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_1_GREEN_DOWN*0.35322186373731607) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_1_2_GREEN_DOWN*0.35284634870858678 + jac_affine_inv_2_2_GREEN_DOWN*0.35322186373731607)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_0_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_2_0_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_1_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_2_1_GREEN_DOWN*0.99912889150836071))*0.18582757141911313 + ((jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071)*(jac_affine_inv_0_2_GREEN_DOWN*0.99912889150836071 + jac_affine_inv_1_2_GREEN_DOWN + jac_affine_inv_2_2_GREEN_DOWN*0.99912889150836071))*0.18582757141911313), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_0_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_0_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_0_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_0_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_0_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_1_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_1_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_1_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_1_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_1_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_1_GREEN_DOWN*0.43070170707783612) + (jac_affine_inv_0_2_GREEN_DOWN*0.21645194421357716 + jac_affine_inv_1_2_GREEN_DOWN*0.21607642918484779 + jac_affine_inv_2_2_GREEN_DOWN*0.21607642918484779)*(jac_affine_inv_0_2_GREEN_DOWN*0.43070170707783612 + jac_affine_inv_1_2_GREEN_DOWN*0.43107722210656541 + jac_affine_inv_2_2_GREEN_DOWN*0.43070170707783612)), abs_det_jac_affine_GREEN_DOWN*(((jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_0_GREEN_DOWN + jac_affine_inv_1_0_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_0_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_1_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_1_GREEN_DOWN*0.99826513441543008))*0.046851444153837518 + ((jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008)*(jac_affine_inv_0_2_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*0.99826513441543008 + jac_affine_inv_2_2_GREEN_DOWN*0.99826513441543008))*0.046851444153837518)}; + + 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 walberla::float64 alpha_dof_0 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 alpha_dof_1 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_2 = _data_alpha[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 alpha_dof_3 = _data_alpha[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_0 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 beta_dof_1 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_2 = _data_beta[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 beta_dof_3 = _data_beta[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + for (int64_t q = 0; q < 4; q += 1) + { + const walberla::float64 tmp_qloop_0 = alpha_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + alpha_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + alpha_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + alpha_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 tmp_qloop_1 = beta_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + beta_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + beta_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + beta_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3]; + const walberla::float64 q_tmp_0_0 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q])*_data_q_w[q]; + const walberla::float64 q_tmp_0_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 1] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 1])*_data_q_w[q]; + const walberla::float64 q_tmp_0_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 2] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 3] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 4] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 4])*_data_q_w[q]; + const walberla::float64 q_tmp_0_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 5] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 5])*_data_q_w[q]; + const walberla::float64 q_tmp_1_1 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 6] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 6])*_data_q_w[q]; + const walberla::float64 q_tmp_1_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 7] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 7])*_data_q_w[q]; + const walberla::float64 q_tmp_1_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 8] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 8])*_data_q_w[q]; + const walberla::float64 q_tmp_1_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 9] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 9])*_data_q_w[q]; + const walberla::float64 q_tmp_1_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 10] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 10])*_data_q_w[q]; + const walberla::float64 q_tmp_2_2 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 11] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 11])*_data_q_w[q]; + const walberla::float64 q_tmp_2_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 12] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 12])*_data_q_w[q]; + const walberla::float64 q_tmp_2_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 13] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 13])*_data_q_w[q]; + const walberla::float64 q_tmp_2_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 14] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 14])*_data_q_w[q]; + const walberla::float64 q_tmp_3_3 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 15] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 15])*_data_q_w[q]; + const walberla::float64 q_tmp_3_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 16] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 16])*_data_q_w[q]; + const walberla::float64 q_tmp_3_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 17] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 17])*_data_q_w[q]; + const walberla::float64 q_tmp_4_4 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 18] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 18])*_data_q_w[q]; + const walberla::float64 q_tmp_4_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 19] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 19])*_data_q_w[q]; + const walberla::float64 q_tmp_5_5 = (tmp_qloop_0*_data_curl_curl_det_0_0_GREEN_DOWN[21*q + 20] + tmp_qloop_1*_data_mass_det_0_0_GREEN_DOWN[21*q + 20])*_data_q_w[q]; + 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_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_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_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_4_4 = q_acc_4_4 + q_tmp_4_4; + q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; + q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; + } + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + + std::vector< uint_t > _data_rowIdx( 6 ); + std::vector< uint_t > _data_colIdx( 6 ); + std::vector< walberla::float64 > _data_mat( 36 ); + + _data_rowIdx[0] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[1] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1])); + _data_rowIdx[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)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_rowIdx[4] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge - 1)*(-ctr_2 + micro_edges_per_macro_edge + 1)) / (6))])); + _data_rowIdx[5] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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[1] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 5*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[2] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[3] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 3*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_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[4] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge - 1)*(micro_edges_per_macro_edge + 1)) / (6)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-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 */ + + const Eigen::DiagonalMatrix< real_t, 6 > basisTransformation = n1e1::macrocell::basisTransformation( level, cell, {ctr_0, ctr_1, ctr_2}, celldof::CellType::GREEN_DOWN ); + + _data_mat[0] = ((walberla::float64)((basisTransformation.diagonal()(0)*basisTransformation.diagonal()(0))*elMat_0_0)); + _data_mat[1] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_0_1)); + _data_mat[2] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_0_2)); + _data_mat[3] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_0_3)); + _data_mat[4] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_0_4)); + _data_mat[5] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_0_5)); + _data_mat[6] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(1)*elMat_1_0)); + _data_mat[7] = ((walberla::float64)((basisTransformation.diagonal()(1)*basisTransformation.diagonal()(1))*elMat_1_1)); + _data_mat[8] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_1_2)); + _data_mat[9] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_1_3)); + _data_mat[10] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_1_4)); + _data_mat[11] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_1_5)); + _data_mat[12] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(2)*elMat_2_0)); + _data_mat[13] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(2)*elMat_2_1)); + _data_mat[14] = ((walberla::float64)((basisTransformation.diagonal()(2)*basisTransformation.diagonal()(2))*elMat_2_2)); + _data_mat[15] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_2_3)); + _data_mat[16] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_2_4)); + _data_mat[17] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_2_5)); + _data_mat[18] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(3)*elMat_3_0)); + _data_mat[19] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(3)*elMat_3_1)); + _data_mat[20] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(3)*elMat_3_2)); + _data_mat[21] = ((walberla::float64)((basisTransformation.diagonal()(3)*basisTransformation.diagonal()(3))*elMat_3_3)); + _data_mat[22] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_3_4)); + _data_mat[23] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_3_5)); + _data_mat[24] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(4)*elMat_4_0)); + _data_mat[25] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(4)*elMat_4_1)); + _data_mat[26] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(4)*elMat_4_2)); + _data_mat[27] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(4)*elMat_4_3)); + _data_mat[28] = ((walberla::float64)((basisTransformation.diagonal()(4)*basisTransformation.diagonal()(4))*elMat_4_4)); + _data_mat[29] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_4_5)); + _data_mat[30] = ((walberla::float64)(basisTransformation.diagonal()(0)*basisTransformation.diagonal()(5)*elMat_5_0)); + _data_mat[31] = ((walberla::float64)(basisTransformation.diagonal()(1)*basisTransformation.diagonal()(5)*elMat_5_1)); + _data_mat[32] = ((walberla::float64)(basisTransformation.diagonal()(2)*basisTransformation.diagonal()(5)*elMat_5_2)); + _data_mat[33] = ((walberla::float64)(basisTransformation.diagonal()(3)*basisTransformation.diagonal()(5)*elMat_5_3)); + _data_mat[34] = ((walberla::float64)(basisTransformation.diagonal()(4)*basisTransformation.diagonal()(5)*elMat_5_4)); + _data_mat[35] = ((walberla::float64)((basisTransformation.diagonal()(5)*basisTransformation.diagonal()(5))*elMat_5_5)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/div_k_grad/CMakeLists.txt b/operators/div_k_grad/CMakeLists.txt index a5068b7373c1cd79d34f1c0d7eecbdbe213454bd..776654d509397a5467874774eda569f1a638f0db 100644 --- a/operators/div_k_grad/CMakeLists.txt +++ b/operators/div_k_grad/CMakeLists.txt @@ -61,4 +61,8 @@ endif() if (HYTEG_BUILD_WITH_PETSC) target_link_libraries(opgen-div_k_grad PUBLIC PETSc::PETSc) endif () -target_compile_features(opgen-div_k_grad PUBLIC cxx_std_17) +if (WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT) + target_compile_features(opgen-div_k_grad PUBLIC cxx_std_23) +else () + target_compile_features(opgen-div_k_grad PUBLIC cxx_std_17) +endif () diff --git a/operators/div_k_grad/P1ElementwiseDivKGrad.cpp b/operators/div_k_grad/P1ElementwiseDivKGrad.cpp index 57beca7d974efd305331708ec6fb46bf7e563669..faf7bf7535f8b8e59f3911c923502ef68b3dc3b3 100644 --- a/operators/div_k_grad/P1ElementwiseDivKGrad.cpp +++ b/operators/div_k_grad/P1ElementwiseDivKGrad.cpp @@ -50,18 +50,21 @@ namespace operatorgeneration { P1ElementwiseDivKGrad::P1ElementwiseDivKGrad( const std::shared_ptr< PrimitiveStorage >& storage, size_t minLevel, size_t maxLevel, - const P1Function< real_t >& _k ) + const P1Function< walberla::float64 >& _k ) : Operator( storage, minLevel, maxLevel ) , k( _k ) {} -void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, - const P1Function< real_t >& dst, - uint_t level, - DoFType flag, - UpdateType updateType ) const +void P1ElementwiseDivKGrad::apply( const P1Function< walberla::float64 >& src, + const P1Function< walberla::float64 >& 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 @@ -78,6 +81,7 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, communication::syncFunctionBetweenPrimitives( src, level, communication::syncDirection_t::LOW2HIGH ); communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH ); } + this->timingTree_->stop( "pre-communication" ); if ( updateType == Replace ) { @@ -85,7 +89,7 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, // 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 ); + dst.interpolate( walberla::numeric_cast< walberla::float64 >( 0 ), level, flag ); } if ( storage_->hasGlobalCells() ) @@ -95,9 +99,9 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, Cell& cell = *it.second; // get hold of the actual numerical data in the functions - real_t* _data_src = cell.getData( src.getCellDataID() )->getPointer( level ); - real_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); - real_t* _data_k = cell.getData( k.getCellDataID() )->getPointer( level ); + walberla::float64* _data_src = cell.getData( src.getCellDataID() )->getPointer( level ); + walberla::float64* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); + walberla::float64* _data_k = cell.getData( k.getCellDataID() )->getPointer( level ); // Zero out dst halos only // @@ -108,24 +112,26 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, 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 ); + _data_dst[arrayIdx] = walberla::float64( 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]; + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); apply_macro_3D( @@ -146,15 +152,18 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, 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 { @@ -163,9 +172,9 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, Face& face = *it.second; // get hold of the actual numerical data in the functions - real_t* _data_src = face.getData( src.getFaceDataID() )->getPointer( level ); - real_t* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); - real_t* _data_k = face.getData( k.getFaceDataID() )->getPointer( level ); + walberla::float64* _data_src = face.getData( src.getFaceDataID() )->getPointer( level ); + walberla::float64* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); + walberla::float64* _data_k = face.getData( k.getFaceDataID() )->getPointer( level ); // Zero out dst halos only // @@ -176,18 +185,20 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, if ( vertexdof::macroface::isVertexOnBoundary( level, idx ) ) { auto arrayIdx = vertexdof::macroface::index( level, idx.x(), idx.y() ); - _data_dst[arrayIdx] = real_t( 0 ); + _data_dst[arrayIdx] = walberla::float64( 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]; + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) face.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) face.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) face.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) face.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) face.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); apply_macro_2D( @@ -202,15 +213,20 @@ void P1ElementwiseDivKGrad::apply( const P1Function< real_t >& src, 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 P1ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, const P1Function< idx_t >& src, @@ -218,6 +234,8 @@ void P1ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > uint_t level, DoFType flag ) const { + this->startTiming( "toMatrix" ); + // We currently ignore the flag provided! if ( flag != All ) { @@ -226,33 +244,37 @@ void P1ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > 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_src = cell.getData( src.getCellDataID() )->getPointer( level ); - idx_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); - real_t* _data_k = cell.getData( k.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]; + idx_t* _data_src = cell.getData( src.getCellDataID() )->getPointer( level ); + idx_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); + walberla::float64* _data_k = cell.getData( k.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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); toMatrix_macro_3D( @@ -274,29 +296,34 @@ void P1ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > 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_src = face.getData( src.getFaceDataID() )->getPointer( level ); - idx_t* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); - real_t* _data_k = face.getData( k.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]; + idx_t* _data_src = face.getData( src.getFaceDataID() )->getPointer( level ); + idx_t* _data_dst = face.getData( dst.getFaceDataID() )->getPointer( level ); + walberla::float64* _data_k = face.getData( k.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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) face.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) face.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) face.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) face.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) face.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); toMatrix_macro_2D( @@ -312,14 +339,19 @@ void P1ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > mat, micro_edges_per_macro_edge, micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); } } + this->stopTiming( "toMatrix" ); } void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() { + this->startTiming( "computeInverseDiagonalOperatorValues" ); + if ( invDiag_ == nullptr ) { - invDiag_ = std::make_shared< P1Function< real_t > >( "inverse diagonal entries", storage_, minLevel_, maxLevel_ ); + invDiag_ = + std::make_shared< P1Function< walberla::float64 > >( "inverse diagonal entries", storage_, minLevel_, maxLevel_ ); } for ( uint_t level = minLevel_; level <= maxLevel_; level++ ) @@ -328,32 +360,36 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() 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 - real_t* _data_invDiag_ = cell.getData( ( *invDiag_ ).getCellDataID() )->getPointer( level ); - real_t* _data_k = cell.getData( k.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::float64* _data_invDiag_ = cell.getData( ( *invDiag_ ).getCellDataID() )->getPointer( level ); + walberla::float64* _data_k = cell.getData( k.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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); computeInverseDiagonalOperatorValues_macro_3D( @@ -373,36 +409,43 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() macro_vertex_coord_id_3comp2, micro_edges_per_macro_edge, micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); } // Push result to lower-dimensional primitives // + this->timingTree_->start( "post-communication" ); // Note: We could avoid communication here by implementing the apply() also for the respective // lower dimensional primitives! ( *invDiag_ ).communicateAdditively< Cell, Face >( level ); ( *invDiag_ ).communicateAdditively< Cell, Edge >( level ); ( *invDiag_ ).communicateAdditively< Cell, Vertex >( level ); + this->timingTree_->stop( "post-communication" ); } 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 - real_t* _data_invDiag_ = face.getData( ( *invDiag_ ).getFaceDataID() )->getPointer( level ); - real_t* _data_k = face.getData( k.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::float64* _data_invDiag_ = face.getData( ( *invDiag_ ).getFaceDataID() )->getPointer( level ); + walberla::float64* _data_k = face.getData( k.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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) face.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) face.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) face.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) face.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) face.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); computeInverseDiagonalOperatorValues_macro_2D( @@ -416,20 +459,25 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() 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! ( *invDiag_ ).communicateAdditively< Face, Edge >( level ); ( *invDiag_ ).communicateAdditively< Face, Vertex >( level ); + this->timingTree_->stop( "post-communication" ); } ( *invDiag_ ).invertElementwise( level ); } + + this->stopTiming( "computeInverseDiagonalOperatorValues" ); } -std::shared_ptr< P1Function< real_t > > P1ElementwiseDivKGrad::getInverseDiagonalValues() const +std::shared_ptr< P1Function< walberla::float64 > > P1ElementwiseDivKGrad::getInverseDiagonalValues() const { return invDiag_; } diff --git a/operators/div_k_grad/P1ElementwiseDivKGrad.hpp b/operators/div_k_grad/P1ElementwiseDivKGrad.hpp index c71b323f36b2da918a380e94d0a44ab985e2e46b..f180ba87d70906f5445b2654fe4653e88fa05583 100644 --- a/operators/div_k_grad/P1ElementwiseDivKGrad.hpp +++ b/operators/div_k_grad/P1ElementwiseDivKGrad.hpp @@ -43,20 +43,32 @@ namespace hyteg { namespace operatorgeneration { -class P1ElementwiseDivKGrad : public Operator< P1Function< real_t >, P1Function< real_t > >, - public OperatorWithInverseDiagonal< P1Function< real_t > > +/// Diffusion operator with a scalar coefficient. +/// +/// Geometry map: IdentityMap +/// +/// Weak formulation +/// +/// u: trial function (space: Lagrange, degree: 1) +/// v: test function (space: Lagrange, degree: 1) +/// k: coefficient (space: Lagrange, degree: 1) +/// +/// ∫ k ∇u · ∇v + +class P1ElementwiseDivKGrad : public Operator< P1Function< walberla::float64 >, P1Function< walberla::float64 > >, + public OperatorWithInverseDiagonal< P1Function< walberla::float64 > > { public: P1ElementwiseDivKGrad( const std::shared_ptr< PrimitiveStorage >& storage, size_t minLevel, size_t maxLevel, - const P1Function< real_t >& _k ); + const P1Function< walberla::float64 >& _k ); - void apply( const P1Function< real_t >& src, - const P1Function< real_t >& dst, - uint_t level, - DoFType flag, - UpdateType updateType = Replace ) const; + void apply( const P1Function< walberla::float64 >& src, + const P1Function< walberla::float64 >& dst, + uint_t level, + DoFType flag, + UpdateType updateType = Replace ) const; void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, const P1Function< idx_t >& src, @@ -66,133 +78,133 @@ class P1ElementwiseDivKGrad : public Operator< P1Function< real_t >, P1Function< void computeInverseDiagonalOperatorValues(); - std::shared_ptr< P1Function< real_t > > getInverseDiagonalValues() const; + std::shared_ptr< P1Function< walberla::float64 > > getInverseDiagonalValues() const; protected: private: /// Kernel type: apply - /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - quadrature rule: Xiao-Gimbutas 1 | points: 1, degree: 1 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- - /// 63 78 0 0 0 0 0 0 - void apply_macro_2D( real_t* RESTRICT _data_dst, - real_t* RESTRICT _data_k, - real_t* RESTRICT _data_src, - 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; + /// 17 19 0 0 0 0 0 0 + void apply_macro_2D( walberla::float64* RESTRICT _data_dst, + walberla::float64* RESTRICT _data_k, + walberla::float64* RESTRICT _data_src, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: apply - /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - quadrature rule: Xiao-Gimbutas 1 | points: 1, degree: 1 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- - /// 184 200 0 0 0 0 0 0 - void apply_macro_3D( real_t* RESTRICT _data_dst, - real_t* RESTRICT _data_k, - real_t* RESTRICT _data_src, - 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; + /// 29 31 0 0 0 0 0 0 + void apply_macro_3D( walberla::float64* RESTRICT _data_dst, + walberla::float64* RESTRICT _data_k, + walberla::float64* RESTRICT _data_src, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: toMatrix - /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - quadrature rule: Xiao-Gimbutas 1 | points: 1, degree: 1 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- - /// 54 69 0 0 0 0 0 3 + /// 8 10 0 0 0 0 0 3 void toMatrix_macro_2D( idx_t* RESTRICT _data_dst, - real_t* RESTRICT _data_k, + walberla::float64* RESTRICT _data_k, idx_t* RESTRICT _data_src, - 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, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 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; + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: toMatrix - /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - quadrature rule: Xiao-Gimbutas 1 | points: 1, degree: 1 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- - /// 168 184 0 0 0 0 0 3 + /// 13 15 0 0 0 0 0 3 void toMatrix_macro_3D( idx_t* RESTRICT _data_dst, - real_t* RESTRICT _data_k, + walberla::float64* RESTRICT _data_k, idx_t* RESTRICT _data_src, - 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, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 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; + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: computeInverseDiagonalOperatorValues - /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - quadrature rule: Xiao-Gimbutas 1 | points: 1, degree: 1 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- - /// 39 42 0 0 0 0 0 0 - void computeInverseDiagonalOperatorValues_macro_2D( real_t* RESTRICT _data_invDiag_, - real_t* RESTRICT _data_k, - 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; + /// 8 7 0 0 0 0 0 0 + void computeInverseDiagonalOperatorValues_macro_2D( walberla::float64* RESTRICT _data_invDiag_, + walberla::float64* RESTRICT _data_k, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: computeInverseDiagonalOperatorValues - /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - quadrature rule: Xiao-Gimbutas 1 | points: 1, degree: 1 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- - /// 100 88 0 0 0 0 0 0 - void computeInverseDiagonalOperatorValues_macro_3D( real_t* RESTRICT _data_invDiag_, - real_t* RESTRICT _data_k, - real_t macro_vertex_coord_id_0comp0, - real_t macro_vertex_coord_id_0comp1, - real_t macro_vertex_coord_id_0comp2, - real_t macro_vertex_coord_id_1comp0, - real_t macro_vertex_coord_id_1comp1, - real_t macro_vertex_coord_id_1comp2, - real_t macro_vertex_coord_id_2comp0, - real_t macro_vertex_coord_id_2comp1, - real_t macro_vertex_coord_id_2comp2, - real_t macro_vertex_coord_id_3comp0, - real_t macro_vertex_coord_id_3comp1, - real_t macro_vertex_coord_id_3comp2, - int64_t micro_edges_per_macro_edge, - real_t micro_edges_per_macro_edge_float ) const; - - std::shared_ptr< P1Function< real_t > > invDiag_; - P1Function< real_t > k; + /// 11 9 0 0 0 0 0 0 + void computeInverseDiagonalOperatorValues_macro_3D( walberla::float64* RESTRICT _data_invDiag_, + walberla::float64* RESTRICT _data_k, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; + + std::shared_ptr< P1Function< walberla::float64 > > invDiag_; + P1Function< walberla::float64 > k; }; } // namespace operatorgeneration diff --git a/operators/div_k_grad/P2ElementwiseDivKGrad.cpp b/operators/div_k_grad/P2ElementwiseDivKGrad.cpp index 70cbac859eab2038f2853bdcc0db30bb928fed16..49f0336a762fd9d3e661b509f96834ea26886350 100644 --- a/operators/div_k_grad/P2ElementwiseDivKGrad.cpp +++ b/operators/div_k_grad/P2ElementwiseDivKGrad.cpp @@ -50,18 +50,21 @@ namespace operatorgeneration { P2ElementwiseDivKGrad::P2ElementwiseDivKGrad( const std::shared_ptr< PrimitiveStorage >& storage, size_t minLevel, size_t maxLevel, - const P2Function< real_t >& _k ) + const P2Function< walberla::float64 >& _k ) : Operator( storage, minLevel, maxLevel ) , k( _k ) {} -void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, - const P2Function< real_t >& dst, - uint_t level, - DoFType flag, - UpdateType updateType ) const +void P2ElementwiseDivKGrad::apply( const P2Function< walberla::float64 >& src, + const P2Function< walberla::float64 >& 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 @@ -78,6 +81,7 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, communication::syncFunctionBetweenPrimitives( src, level, communication::syncDirection_t::LOW2HIGH ); communication::syncFunctionBetweenPrimitives( k, level, communication::syncDirection_t::LOW2HIGH ); } + this->timingTree_->stop( "pre-communication" ); if ( updateType == Replace ) { @@ -85,7 +89,7 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, // 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 ); + dst.interpolate( walberla::numeric_cast< walberla::float64 >( 0 ), level, flag ); } if ( storage_->hasGlobalCells() ) @@ -95,12 +99,12 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, Cell& cell = *it.second; // get hold of the actual numerical data in the functions - real_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level ); - real_t* _data_srcEdge = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); - real_t* _data_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level ); - real_t* _data_dstEdge = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); - real_t* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); - real_t* _data_kEdge = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_srcEdge = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_dstEdge = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_kEdge = cell.getData( k.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); // Zero out dst halos only // @@ -111,25 +115,27 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, if ( !vertexdof::macrocell::isOnCellFace( idx, level ).empty() ) { auto arrayIdx = vertexdof::macrocell::index( level, idx.x(), idx.y(), idx.z() ); - _data_dstVertex[arrayIdx] = real_t( 0 ); + _data_dstVertex[arrayIdx] = walberla::float64( 0 ); } } edgedof::macrocell::setBoundaryToZero( level, cell, dst.getEdgeDoFFunction().getCellDataID() ); - const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); - const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); - const real_t macro_vertex_coord_id_0comp0 = (real_t) cell.getCoordinates()[0][0]; - const real_t macro_vertex_coord_id_0comp1 = (real_t) cell.getCoordinates()[0][1]; - const real_t macro_vertex_coord_id_0comp2 = (real_t) cell.getCoordinates()[0][2]; - const real_t macro_vertex_coord_id_1comp0 = (real_t) cell.getCoordinates()[1][0]; - const real_t macro_vertex_coord_id_1comp1 = (real_t) cell.getCoordinates()[1][1]; - const real_t macro_vertex_coord_id_1comp2 = (real_t) cell.getCoordinates()[1][2]; - const real_t macro_vertex_coord_id_2comp0 = (real_t) cell.getCoordinates()[2][0]; - const real_t macro_vertex_coord_id_2comp1 = (real_t) cell.getCoordinates()[2][1]; - const real_t macro_vertex_coord_id_2comp2 = (real_t) cell.getCoordinates()[2][2]; - const real_t macro_vertex_coord_id_3comp0 = (real_t) cell.getCoordinates()[3][0]; - const real_t macro_vertex_coord_id_3comp1 = (real_t) cell.getCoordinates()[3][1]; - const real_t macro_vertex_coord_id_3comp2 = (real_t) cell.getCoordinates()[3][2]; + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); apply_macro_3D( @@ -153,10 +159,12 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, macro_vertex_coord_id_3comp2, micro_edges_per_macro_edge, micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); } // Push result to lower-dimensional primitives // + this->timingTree_->start( "post-communication" ); // Note: We could avoid communication here by implementing the apply() also for the respective // lower dimensional primitives! dst.getVertexDoFFunction().communicateAdditively< Cell, Face >( @@ -169,6 +177,7 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, level, DoFType::All ^ flag, *storage_, updateType == Replace ); dst.getEdgeDoFFunction().communicateAdditively< Cell, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + this->timingTree_->stop( "post-communication" ); } else { @@ -177,12 +186,12 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, 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_dstVertex = face.getData( dst.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); - real_t* _data_dstEdge = face.getData( dst.getEdgeDoFFunction().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 ); + walberla::float64* _data_srcVertex = face.getData( src.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _data_srcEdge = face.getData( src.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _data_dstVertex = face.getData( dst.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _data_dstEdge = face.getData( dst.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _data_kVertex = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _data_kEdge = face.getData( k.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); // Zero out dst halos only // @@ -193,7 +202,7 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, if ( vertexdof::macroface::isVertexOnBoundary( level, idx ) ) { auto arrayIdx = vertexdof::macroface::index( level, idx.x(), idx.y() ); - _data_dstVertex[arrayIdx] = walberla::numeric_cast< real_t >( 0 ); + _data_dstVertex[arrayIdx] = walberla::numeric_cast< walberla::float64 >( 0 ); } } for ( const auto& idx : edgedof::macroface::Iterator( level ) ) @@ -203,19 +212,21 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, if ( !edgedof::macroface::isInnerEdgeDoF( level, idx, orientation ) ) { auto arrayIdx = edgedof::macroface::index( level, idx.x(), idx.y(), orientation ); - _data_dstEdge[arrayIdx] = walberla::numeric_cast< real_t >( 0 ); + _data_dstEdge[arrayIdx] = walberla::numeric_cast< walberla::float64 >( 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]; + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) face.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) face.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) face.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) face.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) face.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); apply_macro_2D( @@ -233,10 +244,12 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, 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.getVertexDoFFunction().communicateAdditively< Face, Edge >( @@ -245,7 +258,10 @@ void P2ElementwiseDivKGrad::apply( const P2Function< real_t >& src, level, DoFType::All ^ flag, *storage_, updateType == Replace ); dst.getEdgeDoFFunction().communicateAdditively< Face, Edge >( level, DoFType::All ^ flag, *storage_, updateType == Replace ); + this->timingTree_->stop( "post-communication" ); } + + this->stopTiming( "apply" ); } void P2ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, const P2Function< idx_t >& src, @@ -253,6 +269,8 @@ void P2ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > uint_t level, DoFType flag ) const { + this->startTiming( "toMatrix" ); + // We currently ignore the flag provided! if ( flag != All ) { @@ -261,36 +279,40 @@ void P2ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > 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_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level ); - idx_t* _data_dstEdge = cell.getData( dst.getEdgeDoFFunction().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]; + idx_t* _data_srcVertex = cell.getData( src.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + idx_t* _data_srcEdge = cell.getData( src.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + idx_t* _data_dstVertex = cell.getData( dst.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + idx_t* _data_dstEdge = cell.getData( dst.getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); toMatrix_macro_3D( @@ -315,32 +337,37 @@ void P2ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > 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_dstVertex = face.getData( dst.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); - idx_t* _data_dstEdge = face.getData( dst.getEdgeDoFFunction().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]; + 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_dstVertex = face.getData( dst.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + idx_t* _data_dstEdge = face.getData( dst.getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _data_kVertex = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) face.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) face.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) face.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) face.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) face.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); toMatrix_macro_2D( @@ -359,14 +386,19 @@ void P2ElementwiseDivKGrad::toMatrix( const std::shared_ptr< SparseMatrixProxy > mat, micro_edges_per_macro_edge, micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); } } + this->stopTiming( "toMatrix" ); } void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() { + this->startTiming( "computeInverseDiagonalOperatorValues" ); + if ( invDiag_ == nullptr ) { - invDiag_ = std::make_shared< P2Function< real_t > >( "inverse diagonal entries", storage_, minLevel_, maxLevel_ ); + invDiag_ = + std::make_shared< P2Function< walberla::float64 > >( "inverse diagonal entries", storage_, minLevel_, maxLevel_ ); } for ( uint_t level = minLevel_; level <= maxLevel_; level++ ) @@ -375,35 +407,40 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() 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 - real_t* _data_invDiag_Vertex = + walberla::float64* _data_invDiag_Vertex = cell.getData( ( *invDiag_ ).getVertexDoFFunction().getCellDataID() )->getPointer( level ); - real_t* _data_invDiag_Edge = cell.getData( ( *invDiag_ ).getEdgeDoFFunction().getCellDataID() )->getPointer( level ); - real_t* _data_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::float64* _data_invDiag_Edge = + cell.getData( ( *invDiag_ ).getEdgeDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _data_kVertex = cell.getData( k.getVertexDoFFunction().getCellDataID() )->getPointer( level ); + walberla::float64* _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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) cell.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) cell.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_0comp2 = (walberla::float64) cell.getCoordinates()[0][2]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) cell.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) cell.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_1comp2 = (walberla::float64) cell.getCoordinates()[1][2]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) cell.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) cell.getCoordinates()[2][1]; + const walberla::float64 macro_vertex_coord_id_2comp2 = (walberla::float64) cell.getCoordinates()[2][2]; + const walberla::float64 macro_vertex_coord_id_3comp0 = (walberla::float64) cell.getCoordinates()[3][0]; + const walberla::float64 macro_vertex_coord_id_3comp1 = (walberla::float64) cell.getCoordinates()[3][1]; + const walberla::float64 macro_vertex_coord_id_3comp2 = (walberla::float64) cell.getCoordinates()[3][2]; + + this->timingTree_->start( "kernel" ); computeInverseDiagonalOperatorValues_macro_3D( @@ -425,10 +462,12 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() macro_vertex_coord_id_3comp2, micro_edges_per_macro_edge, micro_edges_per_macro_edge_float ); + this->timingTree_->stop( "kernel" ); } // Push result to lower-dimensional primitives // + this->timingTree_->start( "post-communication" ); // Note: We could avoid communication here by implementing the apply() also for the respective // lower dimensional primitives! ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Face >( level ); @@ -436,30 +475,36 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Cell, Vertex >( level ); ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Face >( level ); ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Cell, Edge >( level ); + this->timingTree_->stop( "post-communication" ); } 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 - real_t* _data_invDiag_Vertex = + walberla::float64* _data_invDiag_Vertex = face.getData( ( *invDiag_ ).getVertexDoFFunction().getFaceDataID() )->getPointer( level ); - real_t* _data_invDiag_Edge = face.getData( ( *invDiag_ ).getEdgeDoFFunction().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::float64* _data_invDiag_Edge = + face.getData( ( *invDiag_ ).getEdgeDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _data_kVertex = face.getData( k.getVertexDoFFunction().getFaceDataID() )->getPointer( level ); + walberla::float64* _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 = (walberla::float64) levelinfo::num_microedges_per_edge( level ); + const walberla::float64 macro_vertex_coord_id_0comp0 = (walberla::float64) face.getCoordinates()[0][0]; + const walberla::float64 macro_vertex_coord_id_0comp1 = (walberla::float64) face.getCoordinates()[0][1]; + const walberla::float64 macro_vertex_coord_id_1comp0 = (walberla::float64) face.getCoordinates()[1][0]; + const walberla::float64 macro_vertex_coord_id_1comp1 = (walberla::float64) face.getCoordinates()[1][1]; + const walberla::float64 macro_vertex_coord_id_2comp0 = (walberla::float64) face.getCoordinates()[2][0]; + const walberla::float64 macro_vertex_coord_id_2comp1 = (walberla::float64) face.getCoordinates()[2][1]; + + this->timingTree_->start( "kernel" ); computeInverseDiagonalOperatorValues_macro_2D( @@ -475,21 +520,26 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues() 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! ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Face, Edge >( level ); ( *invDiag_ ).getVertexDoFFunction().communicateAdditively< Face, Vertex >( level ); ( *invDiag_ ).getEdgeDoFFunction().communicateAdditively< Face, Edge >( level ); + this->timingTree_->stop( "post-communication" ); } ( *invDiag_ ).invertElementwise( level ); } + + this->stopTiming( "computeInverseDiagonalOperatorValues" ); } -std::shared_ptr< P2Function< real_t > > P2ElementwiseDivKGrad::getInverseDiagonalValues() const +std::shared_ptr< P2Function< walberla::float64 > > P2ElementwiseDivKGrad::getInverseDiagonalValues() const { return invDiag_; } diff --git a/operators/div_k_grad/P2ElementwiseDivKGrad.hpp b/operators/div_k_grad/P2ElementwiseDivKGrad.hpp index 8fa931acff32f2d0707284c1c3a6ca36855a2413..6479c79e1b396493ceabaf9925f3d296eeddb861 100644 --- a/operators/div_k_grad/P2ElementwiseDivKGrad.hpp +++ b/operators/div_k_grad/P2ElementwiseDivKGrad.hpp @@ -43,20 +43,32 @@ namespace hyteg { namespace operatorgeneration { -class P2ElementwiseDivKGrad : public Operator< P2Function< real_t >, P2Function< real_t > >, - public OperatorWithInverseDiagonal< P2Function< real_t > > +/// Diffusion operator with a scalar coefficient. +/// +/// Geometry map: IdentityMap +/// +/// Weak formulation +/// +/// u: trial function (space: Lagrange, degree: 2) +/// v: test function (space: Lagrange, degree: 2) +/// k: coefficient (space: Lagrange, degree: 2) +/// +/// ∫ k ∇u · ∇v + +class P2ElementwiseDivKGrad : public Operator< P2Function< walberla::float64 >, P2Function< walberla::float64 > >, + public OperatorWithInverseDiagonal< P2Function< walberla::float64 > > { public: P2ElementwiseDivKGrad( const std::shared_ptr< PrimitiveStorage >& storage, size_t minLevel, size_t maxLevel, - const P2Function< real_t >& _k ); + const P2Function< walberla::float64 >& _k ); - void apply( const P2Function< real_t >& src, - const P2Function< real_t >& dst, - uint_t level, - DoFType flag, - UpdateType updateType = Replace ) const; + void apply( const P2Function< walberla::float64 >& src, + const P2Function< walberla::float64 >& dst, + uint_t level, + DoFType flag, + UpdateType updateType = Replace ) const; void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, const P2Function< idx_t >& src, @@ -66,149 +78,149 @@ class P2ElementwiseDivKGrad : public Operator< P2Function< real_t >, P2Function< void computeInverseDiagonalOperatorValues(); - std::shared_ptr< P2Function< real_t > > getInverseDiagonalValues() const; + std::shared_ptr< P2Function< walberla::float64 > > getInverseDiagonalValues() const; protected: private: /// Kernel type: apply - /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - quadrature rule: Dunavant 2 | points: 3, degree: 2 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- /// 258 354 0 0 0 0 0 0 - void apply_macro_2D( real_t* RESTRICT _data_dstEdge, - real_t* RESTRICT _data_dstVertex, - 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; + void apply_macro_2D( walberla::float64* RESTRICT _data_dstEdge, + walberla::float64* RESTRICT _data_dstVertex, + walberla::float64* RESTRICT _data_kEdge, + walberla::float64* RESTRICT _data_kVertex, + walberla::float64* RESTRICT _data_srcEdge, + walberla::float64* RESTRICT _data_srcVertex, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: apply - /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - quadrature rule: Hammer-Marlowe-Stroud 1 | points: 4, degree: 2 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- /// 1180 1568 0 0 0 0 0 0 - void apply_macro_3D( real_t* RESTRICT _data_dstEdge, - real_t* RESTRICT _data_dstVertex, - 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; + void apply_macro_3D( walberla::float64* RESTRICT _data_dstEdge, + walberla::float64* RESTRICT _data_dstVertex, + walberla::float64* RESTRICT _data_kEdge, + walberla::float64* RESTRICT _data_kVertex, + walberla::float64* RESTRICT _data_srcEdge, + walberla::float64* RESTRICT _data_srcVertex, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: toMatrix - /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - quadrature rule: Dunavant 2 | points: 3, degree: 2 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- /// 222 318 0 0 0 0 0 3 void toMatrix_macro_2D( idx_t* RESTRICT _data_dstEdge, idx_t* RESTRICT _data_dstVertex, - real_t* RESTRICT _data_kEdge, - real_t* RESTRICT _data_kVertex, + walberla::float64* RESTRICT _data_kEdge, + walberla::float64* 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, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 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; + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: toMatrix - /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - quadrature rule: Hammer-Marlowe-Stroud 1 | points: 4, degree: 2 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- /// 1080 1468 0 0 0 0 0 3 void toMatrix_macro_3D( idx_t* RESTRICT _data_dstEdge, idx_t* RESTRICT _data_dstVertex, - real_t* RESTRICT _data_kEdge, - real_t* RESTRICT _data_kVertex, + walberla::float64* RESTRICT _data_kEdge, + walberla::float64* 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, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 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; + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: computeInverseDiagonalOperatorValues - /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - quadrature rule: Dunavant 2 | points: 3, degree: 2 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- /// 138 171 0 0 0 0 0 0 - void computeInverseDiagonalOperatorValues_macro_2D( real_t* RESTRICT _data_invDiag_Edge, - real_t* RESTRICT _data_invDiag_Vertex, - real_t* RESTRICT _data_kEdge, - real_t* RESTRICT _data_kVertex, - 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; + void computeInverseDiagonalOperatorValues_macro_2D( walberla::float64* RESTRICT _data_invDiag_Edge, + walberla::float64* RESTRICT _data_invDiag_Vertex, + walberla::float64* RESTRICT _data_kEdge, + walberla::float64* RESTRICT _data_kVertex, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; /// Kernel type: computeInverseDiagonalOperatorValues - /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - quadrature rule: Hammer-Marlowe-Stroud 1 | points: 4, degree: 2 /// - operations per element: /// adds muls divs pows abs assignments function_calls unknown_ops /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- /// 430 604 0 0 0 0 0 0 - void computeInverseDiagonalOperatorValues_macro_3D( real_t* RESTRICT _data_invDiag_Edge, - real_t* RESTRICT _data_invDiag_Vertex, - real_t* RESTRICT _data_kEdge, - real_t* RESTRICT _data_kVertex, - real_t macro_vertex_coord_id_0comp0, - real_t macro_vertex_coord_id_0comp1, - real_t macro_vertex_coord_id_0comp2, - real_t macro_vertex_coord_id_1comp0, - real_t macro_vertex_coord_id_1comp1, - real_t macro_vertex_coord_id_1comp2, - real_t macro_vertex_coord_id_2comp0, - real_t macro_vertex_coord_id_2comp1, - real_t macro_vertex_coord_id_2comp2, - real_t macro_vertex_coord_id_3comp0, - real_t macro_vertex_coord_id_3comp1, - real_t macro_vertex_coord_id_3comp2, - int64_t micro_edges_per_macro_edge, - real_t micro_edges_per_macro_edge_float ) const; - - std::shared_ptr< P2Function< real_t > > invDiag_; - P2Function< real_t > k; + void computeInverseDiagonalOperatorValues_macro_3D( walberla::float64* RESTRICT _data_invDiag_Edge, + walberla::float64* RESTRICT _data_invDiag_Vertex, + walberla::float64* RESTRICT _data_kEdge, + walberla::float64* RESTRICT _data_kVertex, + walberla::float64 macro_vertex_coord_id_0comp0, + walberla::float64 macro_vertex_coord_id_0comp1, + walberla::float64 macro_vertex_coord_id_0comp2, + walberla::float64 macro_vertex_coord_id_1comp0, + walberla::float64 macro_vertex_coord_id_1comp1, + walberla::float64 macro_vertex_coord_id_1comp2, + walberla::float64 macro_vertex_coord_id_2comp0, + walberla::float64 macro_vertex_coord_id_2comp1, + walberla::float64 macro_vertex_coord_id_2comp2, + walberla::float64 macro_vertex_coord_id_3comp0, + walberla::float64 macro_vertex_coord_id_3comp1, + walberla::float64 macro_vertex_coord_id_3comp2, + int64_t micro_edges_per_macro_edge, + walberla::float64 micro_edges_per_macro_edge_float ) const; + + std::shared_ptr< P2Function< walberla::float64 > > invDiag_; + P2Function< walberla::float64 > k; }; } // namespace operatorgeneration diff --git a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_2D.cpp b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_2D.cpp index 572078e5c760a3a6eb50603a0e3b0837ef34638c..d259a51dc46386a99b6f129f5f71aa72fea05a87 100644 --- a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_2D.cpp +++ b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_2D.cpp @@ -56,37 +56,35 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_k, real_t * RESTRICT _data_src, 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 +void P1ElementwiseDivKGrad::apply_macro_2D( walberla::float64 * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_k, walberla::float64 * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.5}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; - - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; - - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); - const real_t tmp_q_0 = -jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY; - const real_t tmp_q_1 = -jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY; + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ + const walberla::float64 _data_phi_0_0_GRAY [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY [] = {abs_det_jac_affine_GRAY*(((-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)) + ((-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY))), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_0_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_1_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_1_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY), abs_det_jac_affine_GRAY*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY))}; + 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) @@ -103,15 +101,15 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t __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_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 3; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0),_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0)),_mm256_mul_pd(_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1),_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY),_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY),_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_GRAY[3*q],_data_phi_0_0_GRAY[3*q],_data_phi_0_0_GRAY[3*q],_data_phi_0_0_GRAY[3*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_GRAY[3*q + 1],_data_phi_0_0_GRAY[3*q + 1],_data_phi_0_0_GRAY[3*q + 1],_data_phi_0_0_GRAY[3*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_GRAY[3*q + 2],_data_phi_0_0_GRAY[3*q + 2],_data_phi_0_0_GRAY[3*q + 2],_data_phi_0_0_GRAY[3*q + 2]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 2])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5])); 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); @@ -128,27 +126,27 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; - const real_t src_dof_1 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; - const real_t k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_2 = abs_det_jac_affine_GRAY*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_2*((tmp_q_0*tmp_q_0) + (tmp_q_1*tmp_q_1)); - const real_t q_tmp_0_1 = tmp_q_2*(jac_affine_inv_0_0_GRAY*tmp_q_0 + jac_affine_inv_0_1_GRAY*tmp_q_1); - const real_t q_tmp_0_2 = tmp_q_2*(jac_affine_inv_1_0_GRAY*tmp_q_0 + jac_affine_inv_1_1_GRAY*tmp_q_1); - const real_t q_tmp_1_1 = tmp_q_2*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)); - const real_t q_tmp_1_2 = tmp_q_2*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY); - const real_t q_tmp_2_2 = tmp_q_2*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GRAY[3*q] + k_dof_1*_data_phi_0_0_GRAY[3*q + 1] + k_dof_2*_data_phi_0_0_GRAY[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 2]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5]; 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; @@ -156,41 +154,43 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; + const walberla::float64 elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; _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_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); - const real_t Dummy_1808 = -jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE; - const real_t Dummy_1809 = -jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE; + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ + const walberla::float64 _data_phi_0_0_BLUE [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE [] = {abs_det_jac_affine_BLUE*(((-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)) + ((-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE))), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_0_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_1_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_1_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE), abs_det_jac_affine_BLUE*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE))}; + 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) @@ -207,15 +207,15 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t __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_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 3; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1808,Dummy_1808,Dummy_1808,Dummy_1808),_mm256_set_pd(Dummy_1808,Dummy_1808,Dummy_1808,Dummy_1808)),_mm256_mul_pd(_mm256_set_pd(Dummy_1809,Dummy_1809,Dummy_1809,Dummy_1809),_mm256_set_pd(Dummy_1809,Dummy_1809,Dummy_1809,Dummy_1809)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1808,Dummy_1808,Dummy_1808,Dummy_1808),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(Dummy_1809,Dummy_1809,Dummy_1809,Dummy_1809),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1808,Dummy_1808,Dummy_1808,Dummy_1808),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(Dummy_1809,Dummy_1809,Dummy_1809,Dummy_1809),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_2,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE[3*q],_data_phi_0_0_BLUE[3*q],_data_phi_0_0_BLUE[3*q],_data_phi_0_0_BLUE[3*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE[3*q + 1],_data_phi_0_0_BLUE[3*q + 1],_data_phi_0_0_BLUE[3*q + 1],_data_phi_0_0_BLUE[3*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE[3*q + 2],_data_phi_0_0_BLUE[3*q + 2],_data_phi_0_0_BLUE[3*q + 2],_data_phi_0_0_BLUE[3*q + 2]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 2])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5])); 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); @@ -232,27 +232,27 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t src_dof_1 = _data_src[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_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_1 = _data_k[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_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_2 = abs_det_jac_affine_BLUE*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_2*((Dummy_1808*Dummy_1808) + (Dummy_1809*Dummy_1809)); - const real_t q_tmp_0_1 = tmp_q_2*(Dummy_1808*jac_affine_inv_0_0_BLUE + Dummy_1809*jac_affine_inv_0_1_BLUE); - const real_t q_tmp_0_2 = tmp_q_2*(Dummy_1808*jac_affine_inv_1_0_BLUE + Dummy_1809*jac_affine_inv_1_1_BLUE); - const real_t q_tmp_1_1 = tmp_q_2*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)); - const real_t q_tmp_1_2 = tmp_q_2*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE); - const real_t q_tmp_2_2 = tmp_q_2*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE[3*q] + k_dof_1*_data_phi_0_0_BLUE[3*q + 1] + k_dof_2*_data_phi_0_0_BLUE[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 2]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5]; 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; @@ -260,9 +260,9 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; + const walberla::float64 elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; _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]; diff --git a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_3D.cpp b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_3D.cpp index 6965369177524d63e5cffdaa2facfbeaaa3263de..11c7f448e0f9f879629c4d84659d936b97c71110 100644 --- a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_3D.cpp +++ b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_apply_macro_3D.cpp @@ -56,61 +56,56 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_k, real_t * RESTRICT _data_src, 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 +void P1ElementwiseDivKGrad::apply_macro_3D( walberla::float64 * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_k, walberla::float64 * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.16666666666666663}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; - - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; - - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; - - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); - const real_t tmp_q_0 = -jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP; - const real_t tmp_q_1 = -jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP; - const real_t tmp_q_2 = -jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)) + ((-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)) + ((-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP))), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_0_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_0_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_1_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_1_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_2_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_2_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_2_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -134,19 +129,19 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t __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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0),_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0)),_mm256_mul_pd(_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1),_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1))),_mm256_mul_pd(_mm256_set_pd(tmp_q_2,tmp_q_2,tmp_q_2,tmp_q_2),_mm256_set_pd(tmp_q_2,tmp_q_2,tmp_q_2,tmp_q_2)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(tmp_q_2,tmp_q_2,tmp_q_2,tmp_q_2)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(tmp_q_2,tmp_q_2,tmp_q_2,tmp_q_2)))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(tmp_q_0,tmp_q_0,tmp_q_0,tmp_q_0)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(tmp_q_1,tmp_q_1,tmp_q_1,tmp_q_1))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(tmp_q_2,tmp_q_2,tmp_q_2,tmp_q_2)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 3])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 5])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 6])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 8])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9])); 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); @@ -169,37 +164,37 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((tmp_q_0*tmp_q_0) + (tmp_q_1*tmp_q_1) + (tmp_q_2*tmp_q_2)); - const real_t q_tmp_0_1 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*tmp_q_0 + jac_affine_inv_0_1_WHITE_UP*tmp_q_1 + jac_affine_inv_0_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_0_2 = tmp_q_3*(jac_affine_inv_1_0_WHITE_UP*tmp_q_0 + jac_affine_inv_1_1_WHITE_UP*tmp_q_1 + jac_affine_inv_1_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_0_3 = tmp_q_3*(jac_affine_inv_2_0_WHITE_UP*tmp_q_0 + jac_affine_inv_2_1_WHITE_UP*tmp_q_1 + jac_affine_inv_2_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_UP[4*q] + k_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9]; 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; @@ -211,10 +206,10 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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))]; @@ -222,62 +217,63 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); - const real_t Dummy_1918 = -jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN; - const real_t Dummy_1919 = -jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN; - const real_t Dummy_1920 = -jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)) + ((-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)) + ((-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN))), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_0_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_0_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_1_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_1_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_2_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_2_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_2_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -301,19 +297,19 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t __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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1918,Dummy_1918,Dummy_1918,Dummy_1918),_mm256_set_pd(Dummy_1918,Dummy_1918,Dummy_1918,Dummy_1918)),_mm256_mul_pd(_mm256_set_pd(Dummy_1919,Dummy_1919,Dummy_1919,Dummy_1919),_mm256_set_pd(Dummy_1919,Dummy_1919,Dummy_1919,Dummy_1919))),_mm256_mul_pd(_mm256_set_pd(Dummy_1920,Dummy_1920,Dummy_1920,Dummy_1920),_mm256_set_pd(Dummy_1920,Dummy_1920,Dummy_1920,Dummy_1920)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1918,Dummy_1918,Dummy_1918,Dummy_1918),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1919,Dummy_1919,Dummy_1919,Dummy_1919),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1920,Dummy_1920,Dummy_1920,Dummy_1920),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1918,Dummy_1918,Dummy_1918,Dummy_1918),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1919,Dummy_1919,Dummy_1919,Dummy_1919),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1920,Dummy_1920,Dummy_1920,Dummy_1920),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1918,Dummy_1918,Dummy_1918,Dummy_1918),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1919,Dummy_1919,Dummy_1919,Dummy_1919),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1920,Dummy_1920,Dummy_1920,Dummy_1920),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 3])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 5])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 6])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 8])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9])); 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); @@ -336,37 +332,37 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1918*Dummy_1918) + (Dummy_1919*Dummy_1919) + (Dummy_1920*Dummy_1920)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1918*jac_affine_inv_0_0_WHITE_DOWN + Dummy_1919*jac_affine_inv_0_1_WHITE_DOWN + Dummy_1920*jac_affine_inv_0_2_WHITE_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1918*jac_affine_inv_1_0_WHITE_DOWN + Dummy_1919*jac_affine_inv_1_1_WHITE_DOWN + Dummy_1920*jac_affine_inv_1_2_WHITE_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1918*jac_affine_inv_2_0_WHITE_DOWN + Dummy_1919*jac_affine_inv_2_1_WHITE_DOWN + Dummy_1920*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + k_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9]; 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; @@ -378,10 +374,10 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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))]; @@ -389,56 +385,57 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); - const real_t Dummy_1921 = -jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP; - const real_t Dummy_1922 = -jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP; - const real_t Dummy_1923 = -jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)) + ((-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)) + ((-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP))), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_0_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_0_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_1_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_1_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_2_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_2_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_2_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -462,19 +459,19 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t __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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1921,Dummy_1921,Dummy_1921,Dummy_1921),_mm256_set_pd(Dummy_1921,Dummy_1921,Dummy_1921,Dummy_1921)),_mm256_mul_pd(_mm256_set_pd(Dummy_1922,Dummy_1922,Dummy_1922,Dummy_1922),_mm256_set_pd(Dummy_1922,Dummy_1922,Dummy_1922,Dummy_1922))),_mm256_mul_pd(_mm256_set_pd(Dummy_1923,Dummy_1923,Dummy_1923,Dummy_1923),_mm256_set_pd(Dummy_1923,Dummy_1923,Dummy_1923,Dummy_1923)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1921,Dummy_1921,Dummy_1921,Dummy_1921),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(Dummy_1922,Dummy_1922,Dummy_1922,Dummy_1922),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(Dummy_1923,Dummy_1923,Dummy_1923,Dummy_1923),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1921,Dummy_1921,Dummy_1921,Dummy_1921),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(Dummy_1922,Dummy_1922,Dummy_1922,Dummy_1922),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(Dummy_1923,Dummy_1923,Dummy_1923,Dummy_1923),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1921,Dummy_1921,Dummy_1921,Dummy_1921),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(Dummy_1922,Dummy_1922,Dummy_1922,Dummy_1922),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(Dummy_1923,Dummy_1923,Dummy_1923,Dummy_1923),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 3])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 5])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 6])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 8])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9])); 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); @@ -497,37 +494,37 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1921*Dummy_1921) + (Dummy_1922*Dummy_1922) + (Dummy_1923*Dummy_1923)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1921*jac_affine_inv_0_0_BLUE_UP + Dummy_1922*jac_affine_inv_0_1_BLUE_UP + Dummy_1923*jac_affine_inv_0_2_BLUE_UP); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1921*jac_affine_inv_1_0_BLUE_UP + Dummy_1922*jac_affine_inv_1_1_BLUE_UP + Dummy_1923*jac_affine_inv_1_2_BLUE_UP); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1921*jac_affine_inv_2_0_BLUE_UP + Dummy_1922*jac_affine_inv_2_1_BLUE_UP + Dummy_1923*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_UP[4*q] + k_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_0_1 = q_acc_0_1 + q_tmp_0_1; q_acc_0_2 = q_acc_0_2 + q_tmp_0_2; @@ -539,10 +536,10 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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]; @@ -550,59 +547,60 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); - const real_t Dummy_1924 = -jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN; - const real_t Dummy_1925 = -jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN; - const real_t Dummy_1926 = -jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)) + ((-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)) + ((-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN))), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_0_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_0_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_1_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_1_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_2_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_2_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_2_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -626,19 +624,19 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t __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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1924,Dummy_1924,Dummy_1924,Dummy_1924),_mm256_set_pd(Dummy_1924,Dummy_1924,Dummy_1924,Dummy_1924)),_mm256_mul_pd(_mm256_set_pd(Dummy_1925,Dummy_1925,Dummy_1925,Dummy_1925),_mm256_set_pd(Dummy_1925,Dummy_1925,Dummy_1925,Dummy_1925))),_mm256_mul_pd(_mm256_set_pd(Dummy_1926,Dummy_1926,Dummy_1926,Dummy_1926),_mm256_set_pd(Dummy_1926,Dummy_1926,Dummy_1926,Dummy_1926)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1924,Dummy_1924,Dummy_1924,Dummy_1924),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1925,Dummy_1925,Dummy_1925,Dummy_1925),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1926,Dummy_1926,Dummy_1926,Dummy_1926),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1924,Dummy_1924,Dummy_1924,Dummy_1924),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1925,Dummy_1925,Dummy_1925,Dummy_1925),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1926,Dummy_1926,Dummy_1926,Dummy_1926),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1924,Dummy_1924,Dummy_1924,Dummy_1924),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1925,Dummy_1925,Dummy_1925,Dummy_1925),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1926,Dummy_1926,Dummy_1926,Dummy_1926),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 3])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 5])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 6])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 8])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9])); 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); @@ -661,37 +659,37 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1924*Dummy_1924) + (Dummy_1925*Dummy_1925) + (Dummy_1926*Dummy_1926)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1924*jac_affine_inv_0_0_BLUE_DOWN + Dummy_1925*jac_affine_inv_0_1_BLUE_DOWN + Dummy_1926*jac_affine_inv_0_2_BLUE_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1924*jac_affine_inv_1_0_BLUE_DOWN + Dummy_1925*jac_affine_inv_1_1_BLUE_DOWN + Dummy_1926*jac_affine_inv_1_2_BLUE_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1924*jac_affine_inv_2_0_BLUE_DOWN + Dummy_1925*jac_affine_inv_2_1_BLUE_DOWN + Dummy_1926*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + k_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9]; 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; @@ -703,10 +701,10 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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]; @@ -714,56 +712,57 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); - const real_t Dummy_1927 = -jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP; - const real_t Dummy_1928 = -jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP; - const real_t Dummy_1929 = -jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)) + ((-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)) + ((-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP))), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_0_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_0_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_1_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_1_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_2_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_2_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_2_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -787,19 +786,19 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t __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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1927,Dummy_1927,Dummy_1927,Dummy_1927),_mm256_set_pd(Dummy_1927,Dummy_1927,Dummy_1927,Dummy_1927)),_mm256_mul_pd(_mm256_set_pd(Dummy_1928,Dummy_1928,Dummy_1928,Dummy_1928),_mm256_set_pd(Dummy_1928,Dummy_1928,Dummy_1928,Dummy_1928))),_mm256_mul_pd(_mm256_set_pd(Dummy_1929,Dummy_1929,Dummy_1929,Dummy_1929),_mm256_set_pd(Dummy_1929,Dummy_1929,Dummy_1929,Dummy_1929)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1927,Dummy_1927,Dummy_1927,Dummy_1927),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(Dummy_1928,Dummy_1928,Dummy_1928,Dummy_1928),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(Dummy_1929,Dummy_1929,Dummy_1929,Dummy_1929),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1927,Dummy_1927,Dummy_1927,Dummy_1927),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(Dummy_1928,Dummy_1928,Dummy_1928,Dummy_1928),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(Dummy_1929,Dummy_1929,Dummy_1929,Dummy_1929),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1927,Dummy_1927,Dummy_1927,Dummy_1927),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(Dummy_1928,Dummy_1928,Dummy_1928,Dummy_1928),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(Dummy_1929,Dummy_1929,Dummy_1929,Dummy_1929),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 3])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 5])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 6])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 8])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9])); 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); @@ -822,37 +821,37 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1927*Dummy_1927) + (Dummy_1928*Dummy_1928) + (Dummy_1929*Dummy_1929)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1927*jac_affine_inv_0_0_GREEN_UP + Dummy_1928*jac_affine_inv_0_1_GREEN_UP + Dummy_1929*jac_affine_inv_0_2_GREEN_UP); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1927*jac_affine_inv_1_0_GREEN_UP + Dummy_1928*jac_affine_inv_1_1_GREEN_UP + Dummy_1929*jac_affine_inv_1_2_GREEN_UP); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1927*jac_affine_inv_2_0_GREEN_UP + Dummy_1928*jac_affine_inv_2_1_GREEN_UP + Dummy_1929*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_UP[4*q] + k_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9]; 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; @@ -864,10 +863,10 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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))]; @@ -875,59 +874,60 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); - const real_t Dummy_1930 = -jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN; - const real_t Dummy_1931 = -jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN; - const real_t Dummy_1932 = -jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)) + ((-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)) + ((-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN))), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_0_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_0_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_1_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_1_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_2_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_2_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_2_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -951,19 +951,19 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t __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_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_3 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1930,Dummy_1930,Dummy_1930,Dummy_1930),_mm256_set_pd(Dummy_1930,Dummy_1930,Dummy_1930,Dummy_1930)),_mm256_mul_pd(_mm256_set_pd(Dummy_1931,Dummy_1931,Dummy_1931,Dummy_1931),_mm256_set_pd(Dummy_1931,Dummy_1931,Dummy_1931,Dummy_1931))),_mm256_mul_pd(_mm256_set_pd(Dummy_1932,Dummy_1932,Dummy_1932,Dummy_1932),_mm256_set_pd(Dummy_1932,Dummy_1932,Dummy_1932,Dummy_1932)))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1930,Dummy_1930,Dummy_1930,Dummy_1930),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1931,Dummy_1931,Dummy_1931,Dummy_1931),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1932,Dummy_1932,Dummy_1932,Dummy_1932),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1930,Dummy_1930,Dummy_1930,Dummy_1930),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1931,Dummy_1931,Dummy_1931,Dummy_1931),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1932,Dummy_1932,Dummy_1932,Dummy_1932),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(Dummy_1930,Dummy_1930,Dummy_1930,Dummy_1930),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(Dummy_1931,Dummy_1931,Dummy_1931,Dummy_1931),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(Dummy_1932,Dummy_1932,Dummy_1932,Dummy_1932),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_3,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q])); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 1],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 1])); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 2],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 2])); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 3])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4])); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 5])); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 6],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 6])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7])); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 8],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 8])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9])); 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); @@ -986,37 +986,37 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t } 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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1930*Dummy_1930) + (Dummy_1931*Dummy_1931) + (Dummy_1932*Dummy_1932)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1930*jac_affine_inv_0_0_GREEN_DOWN + Dummy_1931*jac_affine_inv_0_1_GREEN_DOWN + Dummy_1932*jac_affine_inv_0_2_GREEN_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1930*jac_affine_inv_1_0_GREEN_DOWN + Dummy_1931*jac_affine_inv_1_1_GREEN_DOWN + Dummy_1932*jac_affine_inv_1_2_GREEN_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1930*jac_affine_inv_2_0_GREEN_DOWN + Dummy_1931*jac_affine_inv_2_1_GREEN_DOWN + Dummy_1932*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + k_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9]; 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; @@ -1028,10 +1028,10 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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]; diff --git a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp index f3cad3946116d2525dc4c39a528feeb6aea32cd2..c36139dbbc750073cac93979817813d766048d27 100644 --- a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp +++ b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp @@ -56,35 +56,35 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_t * RESTRICT _data_invDiag_, real_t * RESTRICT _data_k, 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 +void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( walberla::float64 * RESTRICT _data_invDiag_, walberla::float64 * RESTRICT _data_k, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.5}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; - - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; - - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ + const walberla::float64 _data_phi_0_0_GRAY [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY [] = {abs_det_jac_affine_GRAY*(((-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)) + ((-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY))), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_0_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_1_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_1_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY), abs_det_jac_affine_GRAY*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY))}; + 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) @@ -95,12 +95,12 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 3; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_GRAY[3*q],_data_phi_0_0_GRAY[3*q],_data_phi_0_0_GRAY[3*q],_data_phi_0_0_GRAY[3*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_GRAY[3*q + 1],_data_phi_0_0_GRAY[3*q + 1],_data_phi_0_0_GRAY[3*q + 1],_data_phi_0_0_GRAY[3*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_GRAY[3*q + 2],_data_phi_0_0_GRAY[3*q + 2],_data_phi_0_0_GRAY[3*q + 2],_data_phi_0_0_GRAY[3*q + 2]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -114,55 +114,59 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ } 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 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; - const real_t k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_GRAY*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)) + ((-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GRAY[3*q] + k_dof_1*_data_phi_0_0_GRAY[3*q + 1] + k_dof_2*_data_phi_0_0_GRAY[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; } } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ + const walberla::float64 _data_phi_0_0_BLUE [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE [] = {abs_det_jac_affine_BLUE*(((-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)) + ((-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE))), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_0_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_1_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_1_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE), abs_det_jac_affine_BLUE*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE))}; + 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) @@ -173,12 +177,12 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 3; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))),_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE[3*q],_data_phi_0_0_BLUE[3*q],_data_phi_0_0_BLUE[3*q],_data_phi_0_0_BLUE[3*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE[3*q + 1],_data_phi_0_0_BLUE[3*q + 1],_data_phi_0_0_BLUE[3*q + 1],_data_phi_0_0_BLUE[3*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE[3*q + 2],_data_phi_0_0_BLUE[3*q + 2],_data_phi_0_0_BLUE[3*q + 2],_data_phi_0_0_BLUE[3*q + 2]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -192,25 +196,25 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ } 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 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_1 = _data_k[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_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_BLUE*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)) + ((-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE[3*q] + k_dof_1*_data_phi_0_0_BLUE[3*q + 1] + k_dof_2*_data_phi_0_0_BLUE[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; diff --git a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp index f882630412390c0caa070709697543b1e6302f30..e51ef01492fda70aa220e31a43409e08a8917e6a 100644 --- a/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp +++ b/operators/div_k_grad/avx/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -56,58 +56,56 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_t * RESTRICT _data_invDiag_, real_t * RESTRICT _data_k, 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 +void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( walberla::float64 * RESTRICT _data_invDiag_, walberla::float64 * RESTRICT _data_k, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.16666666666666663}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; - - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; - - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; - - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)) + ((-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)) + ((-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP))), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_0_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_0_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_1_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_1_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_2_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_2_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_2_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -121,13 +119,13 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q],_data_phi_0_0_WHITE_UP[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1],_data_phi_0_0_WHITE_UP[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2],_data_phi_0_0_WHITE_UP[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3],_data_phi_0_0_WHITE_UP[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -144,30 +142,30 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)) + ((-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)) + ((-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_UP[4*q] + k_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; @@ -175,59 +173,63 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)) + ((-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)) + ((-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN))), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_0_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_0_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_1_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_1_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_2_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_2_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_2_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -241,13 +243,13 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q],_data_phi_0_0_WHITE_DOWN[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1],_data_phi_0_0_WHITE_DOWN[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2],_data_phi_0_0_WHITE_DOWN[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3],_data_phi_0_0_WHITE_DOWN[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -264,30 +266,30 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)) + ((-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)) + ((-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + k_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -295,53 +297,57 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)) + ((-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)) + ((-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP))), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_0_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_0_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_1_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_1_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_2_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_2_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_2_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -355,13 +361,13 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q],_data_phi_0_0_BLUE_UP[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1],_data_phi_0_0_BLUE_UP[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2],_data_phi_0_0_BLUE_UP[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3],_data_phi_0_0_BLUE_UP[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -378,30 +384,30 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)) + ((-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)) + ((-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_UP[4*q] + k_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -409,56 +415,60 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)) + ((-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)) + ((-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN))), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_0_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_0_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_1_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_1_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_2_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_2_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_2_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -472,13 +482,13 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q],_data_phi_0_0_BLUE_DOWN[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1],_data_phi_0_0_BLUE_DOWN[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2],_data_phi_0_0_BLUE_DOWN[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3],_data_phi_0_0_BLUE_DOWN[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -495,30 +505,30 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)) + ((-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)) + ((-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + k_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -526,53 +536,57 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)) + ((-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)) + ((-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP))), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_0_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_0_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_1_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_1_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_2_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_2_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_2_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -586,13 +600,13 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q],_data_phi_0_0_GREEN_UP[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1],_data_phi_0_0_GREEN_UP[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2],_data_phi_0_0_GREEN_UP[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3],_data_phi_0_0_GREEN_UP[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -609,30 +623,30 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)) + ((-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)) + ((-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_UP[4*q] + k_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -640,56 +654,60 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)) + ((-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)) + ((-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN))), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_0_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_0_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_1_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_1_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_2_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_2_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_2_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) { @@ -703,13 +721,13 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_1_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_2_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); __m256d q_acc_3_3 = _mm256_set_pd(0.0,0.0,0.0,0.0); - for (int64_t q = 0; q < 4; q += 1) + for (int64_t q = 0; q < 1; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_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]))),_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]))),_mm256_set_pd(1.0,1.0,1.0,1.0))),_mm256_mul_pd(k_dof_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(k_dof_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(k_dof_3,_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_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_0,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(k_dof_0,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q],_data_phi_0_0_GREEN_DOWN[4*q])),_mm256_mul_pd(k_dof_1,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1],_data_phi_0_0_GREEN_DOWN[4*q + 1]))),_mm256_mul_pd(k_dof_2,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2],_data_phi_0_0_GREEN_DOWN[4*q + 2]))),_mm256_mul_pd(k_dof_3,_mm256_set_pd(_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3],_data_phi_0_0_GREEN_DOWN[4*q + 3]))),_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_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q])); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4])); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7])); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9],_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9])); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -726,30 +744,30 @@ void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)) + ((-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)) + ((-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + k_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; diff --git a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_2D.cpp b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_2D.cpp index 1d95a2b2bc96b27bbb6dcbae0e6cd8a138149831..8369375de711aedeebe9d2dedcca0beb14e0718a 100644 --- a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_2D.cpp +++ b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_2D.cpp @@ -56,33 +56,33 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, real_t * RESTRICT _data_dstVertex, 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 +void P2ElementwiseDivKGrad::apply_macro_2D( walberla::float64 * RESTRICT _data_dstEdge, walberla::float64 * RESTRICT _data_dstVertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 * RESTRICT _data_srcEdge, walberla::float64 * RESTRICT _data_srcVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; + const walberla::float64 _data_q_p_0 [] = {0.16666666666666666, 0.66666666666666663, 0.16666666666666666}; - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; + const walberla::float64 _data_q_p_1 [] = {0.66666666666666663, 0.16666666666666666, 0.16666666666666666}; - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) @@ -124,58 +124,58 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 3; q += 1) { - const __m256d tmp_q_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_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_1); - const __m256d tmp_q_3 = _mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_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_q_6 = _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_q_7 = _mm256_mul_pd(tmp_q_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_8 = _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_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_7)),_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_q_9))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_1))),_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_q_5),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_3,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)); - const __m256d tmp_q_11 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)); - const __m256d tmp_q_13 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)); - const __m256d tmp_q_14 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_15 = _mm256_mul_pd(tmp_q_14,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)); - const __m256d tmp_q_16 = _mm256_mul_pd(tmp_q_14,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)); - const __m256d tmp_q_17 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)); - const __m256d tmp_q_18 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)); - const __m256d tmp_q_19 = _mm256_add_pd(tmp_q_17,tmp_q_18); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)); - const __m256d tmp_q_22 = _mm256_add_pd(tmp_q_20,tmp_q_21); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_q_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_24 = _mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))); - const __m256d tmp_q_25 = _mm256_add_pd(_mm256_mul_pd(tmp_q_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))); - const __m256d tmp_q_26 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_26,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))); - const __m256d tmp_q_28 = _mm256_add_pd(_mm256_mul_pd(tmp_q_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_26,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_11,tmp_q_11); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_14,tmp_q_14); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_3,tmp_q_3),_mm256_mul_pd(tmp_q_4,tmp_q_4))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_3),_mm256_mul_pd(tmp_q_13,tmp_q_4))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_3),_mm256_mul_pd(tmp_q_16,tmp_q_4))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_3),_mm256_mul_pd(tmp_q_22,tmp_q_4))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_3),_mm256_mul_pd(tmp_q_25,tmp_q_4))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_27,tmp_q_3),_mm256_mul_pd(tmp_q_28,tmp_q_4))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))),_mm256_mul_pd(tmp_q_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_15),_mm256_mul_pd(tmp_q_13,tmp_q_16))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_19),_mm256_mul_pd(tmp_q_13,tmp_q_22))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_24),_mm256_mul_pd(tmp_q_13,tmp_q_25))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_27),_mm256_mul_pd(tmp_q_13,tmp_q_28))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_mul_pd(tmp_q_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_19),_mm256_mul_pd(tmp_q_16,tmp_q_22))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_24),_mm256_mul_pd(tmp_q_16,tmp_q_25))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_27),_mm256_mul_pd(tmp_q_16,tmp_q_28))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_19),_mm256_mul_pd(tmp_q_22,tmp_q_22))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_24),_mm256_mul_pd(tmp_q_22,tmp_q_25))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_27),_mm256_mul_pd(tmp_q_22,tmp_q_28))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_24),_mm256_mul_pd(tmp_q_25,tmp_q_25))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_27),_mm256_mul_pd(tmp_q_25,tmp_q_28))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_27,tmp_q_27),_mm256_mul_pd(tmp_q_28,tmp_q_28))); + 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(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_1); + const __m256d tmp_qloop_3 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))); + const __m256d tmp_qloop_5 = _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_6 = _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_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_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_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _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_7)),_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_9))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_1))),_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_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_3,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)); + const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)); + const __m256d tmp_qloop_14 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)); + const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)); + const __m256d tmp_qloop_22 = _mm256_add_pd(tmp_qloop_20,tmp_qloop_21); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_24 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))); + const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))); + const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))); + const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_14,tmp_qloop_14); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_4,tmp_qloop_4))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_4))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_4))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_4))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_4))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_28,tmp_qloop_4))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))),_mm256_mul_pd(tmp_qloop_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_15),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_16))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_19),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_22))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_25))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_28))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_mul_pd(tmp_qloop_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_19),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_22))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_28))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_19),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_22))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_25))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_28))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28))); 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); @@ -213,93 +213,93 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = jac_affine_inv_0_0_GRAY*tmp_q_2 + jac_affine_inv_1_0_GRAY*tmp_q_2; - const real_t tmp_q_4 = jac_affine_inv_0_1_GRAY*tmp_q_2 + jac_affine_inv_1_1_GRAY*tmp_q_2; - const real_t tmp_q_5 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_6 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_q_5 + tmp_q_7 + tmp_q_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_7 - _data_q_p_0[q]) + k_dof_2*(tmp_q_9 - _data_q_p_1[q]) + k_dof_3*tmp_q_5 + k_dof_4*(tmp_q_1 - tmp_q_5 + tmp_q_8*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_5 + tmp_q_6*-4.0))*_data_q_w[q]; - const real_t tmp_q_11 = tmp_q_0 - 1.0; - const real_t tmp_q_12 = jac_affine_inv_0_0_GRAY*tmp_q_11; - const real_t tmp_q_13 = jac_affine_inv_0_1_GRAY*tmp_q_11; - const real_t tmp_q_14 = tmp_q_1 - 1.0; - const real_t tmp_q_15 = jac_affine_inv_1_0_GRAY*tmp_q_14; - const real_t tmp_q_16 = jac_affine_inv_1_1_GRAY*tmp_q_14; - const real_t tmp_q_17 = jac_affine_inv_1_0_GRAY*tmp_q_0; - const real_t tmp_q_18 = jac_affine_inv_0_0_GRAY*tmp_q_1; - const real_t tmp_q_19 = tmp_q_17 + tmp_q_18; - const real_t tmp_q_20 = jac_affine_inv_1_1_GRAY*tmp_q_0; - const real_t tmp_q_21 = jac_affine_inv_0_1_GRAY*tmp_q_1; - const real_t tmp_q_22 = tmp_q_20 + tmp_q_21; - const real_t tmp_q_23 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GRAY*tmp_q_23 - tmp_q_18; - const real_t tmp_q_25 = jac_affine_inv_1_1_GRAY*tmp_q_23 - tmp_q_21; - const real_t tmp_q_26 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t tmp_q_27 = jac_affine_inv_0_0_GRAY*tmp_q_26 - tmp_q_17; - const real_t tmp_q_28 = jac_affine_inv_0_1_GRAY*tmp_q_26 - tmp_q_20; - const real_t tmp_q_29 = (tmp_q_11*tmp_q_11); - const real_t tmp_q_30 = (tmp_q_14*tmp_q_14); - const real_t q_tmp_0_0 = tmp_q_10*((tmp_q_3*tmp_q_3) + (tmp_q_4*tmp_q_4)); - const real_t q_tmp_0_1 = tmp_q_10*(tmp_q_12*tmp_q_3 + tmp_q_13*tmp_q_4); - const real_t q_tmp_0_2 = tmp_q_10*(tmp_q_15*tmp_q_3 + tmp_q_16*tmp_q_4); - const real_t q_tmp_0_3 = tmp_q_10*(tmp_q_19*tmp_q_3 + tmp_q_22*tmp_q_4); - const real_t q_tmp_0_4 = tmp_q_10*(tmp_q_24*tmp_q_3 + tmp_q_25*tmp_q_4); - const real_t q_tmp_0_5 = tmp_q_10*(tmp_q_27*tmp_q_3 + tmp_q_28*tmp_q_4); - const real_t q_tmp_1_1 = tmp_q_10*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_q_29 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_q_29); - const real_t q_tmp_1_2 = tmp_q_10*(tmp_q_12*tmp_q_15 + tmp_q_13*tmp_q_16); - const real_t q_tmp_1_3 = tmp_q_10*(tmp_q_12*tmp_q_19 + tmp_q_13*tmp_q_22); - const real_t q_tmp_1_4 = tmp_q_10*(tmp_q_12*tmp_q_24 + tmp_q_13*tmp_q_25); - const real_t q_tmp_1_5 = tmp_q_10*(tmp_q_12*tmp_q_27 + tmp_q_13*tmp_q_28); - const real_t q_tmp_2_2 = tmp_q_10*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_q_30 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_q_30); - const real_t q_tmp_2_3 = tmp_q_10*(tmp_q_15*tmp_q_19 + tmp_q_16*tmp_q_22); - const real_t q_tmp_2_4 = tmp_q_10*(tmp_q_15*tmp_q_24 + tmp_q_16*tmp_q_25); - const real_t q_tmp_2_5 = tmp_q_10*(tmp_q_15*tmp_q_27 + tmp_q_16*tmp_q_28); - const real_t q_tmp_3_3 = tmp_q_10*((tmp_q_19*tmp_q_19) + (tmp_q_22*tmp_q_22)); - const real_t q_tmp_3_4 = tmp_q_10*(tmp_q_19*tmp_q_24 + tmp_q_22*tmp_q_25); - const real_t q_tmp_3_5 = tmp_q_10*(tmp_q_19*tmp_q_27 + tmp_q_22*tmp_q_28); - const real_t q_tmp_4_4 = tmp_q_10*((tmp_q_24*tmp_q_24) + (tmp_q_25*tmp_q_25)); - const real_t q_tmp_4_5 = tmp_q_10*(tmp_q_24*tmp_q_27 + tmp_q_25*tmp_q_28); - const real_t q_tmp_5_5 = tmp_q_10*((tmp_q_27*tmp_q_27) + (tmp_q_28*tmp_q_28)); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = jac_affine_inv_0_0_GRAY*tmp_qloop_2 + jac_affine_inv_1_0_GRAY*tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = jac_affine_inv_0_1_GRAY*tmp_qloop_2 + jac_affine_inv_1_1_GRAY*tmp_qloop_2; + const walberla::float64 tmp_qloop_5 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_7 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_9 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_5 + k_dof_4*(tmp_qloop_1 - tmp_qloop_5 + tmp_qloop_8*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_5 + tmp_qloop_6*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_11 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_GRAY*tmp_qloop_11; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_0_1_GRAY*tmp_qloop_11; + const walberla::float64 tmp_qloop_14 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_15 = jac_affine_inv_1_0_GRAY*tmp_qloop_14; + const walberla::float64 tmp_qloop_16 = jac_affine_inv_1_1_GRAY*tmp_qloop_14; + const walberla::float64 tmp_qloop_17 = jac_affine_inv_1_0_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_18 = jac_affine_inv_0_0_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_1_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_22 = tmp_qloop_20 + tmp_qloop_21; + const walberla::float64 tmp_qloop_23 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GRAY*tmp_qloop_23 - tmp_qloop_18; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GRAY*tmp_qloop_23 - tmp_qloop_21; + const walberla::float64 tmp_qloop_26 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_0_0_GRAY*tmp_qloop_26 - tmp_qloop_17; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GRAY*tmp_qloop_26 - tmp_qloop_20; + const walberla::float64 tmp_qloop_29 = (tmp_qloop_11*tmp_qloop_11); + const walberla::float64 tmp_qloop_30 = (tmp_qloop_14*tmp_qloop_14); + const walberla::float64 q_tmp_0_0 = tmp_qloop_10*((tmp_qloop_3*tmp_qloop_3) + (tmp_qloop_4*tmp_qloop_4)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_3 + tmp_qloop_13*tmp_qloop_4); + const walberla::float64 q_tmp_0_2 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_3 + tmp_qloop_16*tmp_qloop_4); + const walberla::float64 q_tmp_0_3 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_3 + tmp_qloop_22*tmp_qloop_4); + const walberla::float64 q_tmp_0_4 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_3 + tmp_qloop_25*tmp_qloop_4); + const walberla::float64 q_tmp_0_5 = tmp_qloop_10*(tmp_qloop_27*tmp_qloop_3 + tmp_qloop_28*tmp_qloop_4); + const walberla::float64 q_tmp_1_1 = tmp_qloop_10*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_qloop_29 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_qloop_29); + const walberla::float64 q_tmp_1_2 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_15 + tmp_qloop_13*tmp_qloop_16); + const walberla::float64 q_tmp_1_3 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_19 + tmp_qloop_13*tmp_qloop_22); + const walberla::float64 q_tmp_1_4 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_24 + tmp_qloop_13*tmp_qloop_25); + const walberla::float64 q_tmp_1_5 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_27 + tmp_qloop_13*tmp_qloop_28); + const walberla::float64 q_tmp_2_2 = tmp_qloop_10*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_qloop_30 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_qloop_30); + const walberla::float64 q_tmp_2_3 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_19 + tmp_qloop_16*tmp_qloop_22); + const walberla::float64 q_tmp_2_4 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_24 + tmp_qloop_16*tmp_qloop_25); + const walberla::float64 q_tmp_2_5 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_27 + tmp_qloop_16*tmp_qloop_28); + const walberla::float64 q_tmp_3_3 = tmp_qloop_10*((tmp_qloop_19*tmp_qloop_19) + (tmp_qloop_22*tmp_qloop_22)); + const walberla::float64 q_tmp_3_4 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_24 + tmp_qloop_22*tmp_qloop_25); + const walberla::float64 q_tmp_3_5 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_27 + tmp_qloop_22*tmp_qloop_28); + const walberla::float64 q_tmp_4_4 = tmp_qloop_10*((tmp_qloop_24*tmp_qloop_24) + (tmp_qloop_25*tmp_qloop_25)); + const walberla::float64 q_tmp_4_5 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_27 + tmp_qloop_25*tmp_qloop_28); + const walberla::float64 q_tmp_5_5 = tmp_qloop_10*((tmp_qloop_27*tmp_qloop_27) + (tmp_qloop_28*tmp_qloop_28)); 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; @@ -322,12 +322,12 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; q_acc_5_5 = q_acc_5_5 + q_tmp_5_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_0_1*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_0_2*src_dof_0 + q_acc_1_2*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; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; @@ -337,28 +337,28 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re } } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) @@ -400,58 +400,58 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 3; q += 1) { - const __m256d tmp_q_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_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_1); - const __m256d tmp_q_3 = _mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_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_q_6 = _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_q_7 = _mm256_mul_pd(tmp_q_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_8 = _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_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_7)),_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_q_9))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_1))),_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_q_5),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_3,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)); - const __m256d tmp_q_11 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)); - const __m256d tmp_q_13 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)); - const __m256d tmp_q_14 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_15 = _mm256_mul_pd(tmp_q_14,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)); - const __m256d tmp_q_16 = _mm256_mul_pd(tmp_q_14,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)); - const __m256d tmp_q_17 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)); - const __m256d tmp_q_18 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)); - const __m256d tmp_q_19 = _mm256_add_pd(tmp_q_17,tmp_q_18); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)); - const __m256d tmp_q_22 = _mm256_add_pd(tmp_q_20,tmp_q_21); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_q_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_24 = _mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))); - const __m256d tmp_q_25 = _mm256_add_pd(_mm256_mul_pd(tmp_q_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))); - const __m256d tmp_q_26 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_26,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))); - const __m256d tmp_q_28 = _mm256_add_pd(_mm256_mul_pd(tmp_q_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_26,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_11,tmp_q_11); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_14,tmp_q_14); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_3,tmp_q_3),_mm256_mul_pd(tmp_q_4,tmp_q_4))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_3),_mm256_mul_pd(tmp_q_13,tmp_q_4))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_3),_mm256_mul_pd(tmp_q_16,tmp_q_4))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_3),_mm256_mul_pd(tmp_q_22,tmp_q_4))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_3),_mm256_mul_pd(tmp_q_25,tmp_q_4))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_27,tmp_q_3),_mm256_mul_pd(tmp_q_28,tmp_q_4))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))),_mm256_mul_pd(tmp_q_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_15),_mm256_mul_pd(tmp_q_13,tmp_q_16))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_19),_mm256_mul_pd(tmp_q_13,tmp_q_22))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_24),_mm256_mul_pd(tmp_q_13,tmp_q_25))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_12,tmp_q_27),_mm256_mul_pd(tmp_q_13,tmp_q_28))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_mul_pd(tmp_q_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_19),_mm256_mul_pd(tmp_q_16,tmp_q_22))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_24),_mm256_mul_pd(tmp_q_16,tmp_q_25))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_15,tmp_q_27),_mm256_mul_pd(tmp_q_16,tmp_q_28))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_19),_mm256_mul_pd(tmp_q_22,tmp_q_22))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_24),_mm256_mul_pd(tmp_q_22,tmp_q_25))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_19,tmp_q_27),_mm256_mul_pd(tmp_q_22,tmp_q_28))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_24),_mm256_mul_pd(tmp_q_25,tmp_q_25))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_27),_mm256_mul_pd(tmp_q_25,tmp_q_28))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_10,_mm256_add_pd(_mm256_mul_pd(tmp_q_27,tmp_q_27),_mm256_mul_pd(tmp_q_28,tmp_q_28))); + 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(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_1); + const __m256d tmp_qloop_3 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))); + const __m256d tmp_qloop_5 = _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_6 = _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_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_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_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _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_7)),_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_9))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_1))),_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_5),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_3,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)); + const __m256d tmp_qloop_11 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)); + const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)); + const __m256d tmp_qloop_14 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_15 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)); + const __m256d tmp_qloop_19 = _mm256_add_pd(tmp_qloop_17,tmp_qloop_18); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)); + const __m256d tmp_qloop_22 = _mm256_add_pd(tmp_qloop_20,tmp_qloop_21); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_24 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))); + const __m256d tmp_qloop_25 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_21,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))); + const __m256d tmp_qloop_26 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))); + const __m256d tmp_qloop_28 = _mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_26,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_11,tmp_qloop_11); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_14,tmp_qloop_14); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_4,tmp_qloop_4))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_4))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_4))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_4))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_4))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_3),_mm256_mul_pd(tmp_qloop_28,tmp_qloop_4))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))),_mm256_mul_pd(tmp_qloop_29,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_15),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_16))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_19),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_22))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_25))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_13,tmp_qloop_28))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_mul_pd(tmp_qloop_30,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_19),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_22))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_25))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_15,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_16,tmp_qloop_28))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_19),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_22))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_25))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_19,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_28))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_25))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_28))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_10,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_27,tmp_qloop_27),_mm256_mul_pd(tmp_qloop_28,tmp_qloop_28))); 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); @@ -489,93 +489,93 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = jac_affine_inv_0_0_BLUE*tmp_q_2 + jac_affine_inv_1_0_BLUE*tmp_q_2; - const real_t tmp_q_4 = jac_affine_inv_0_1_BLUE*tmp_q_2 + jac_affine_inv_1_1_BLUE*tmp_q_2; - const real_t tmp_q_5 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_6 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_q_5 + tmp_q_7 + tmp_q_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_7 - _data_q_p_0[q]) + k_dof_2*(tmp_q_9 - _data_q_p_1[q]) + k_dof_3*tmp_q_5 + k_dof_4*(tmp_q_1 - tmp_q_5 + tmp_q_8*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_5 + tmp_q_6*-4.0))*_data_q_w[q]; - const real_t tmp_q_11 = tmp_q_0 - 1.0; - const real_t tmp_q_12 = jac_affine_inv_0_0_BLUE*tmp_q_11; - const real_t tmp_q_13 = jac_affine_inv_0_1_BLUE*tmp_q_11; - const real_t tmp_q_14 = tmp_q_1 - 1.0; - const real_t tmp_q_15 = jac_affine_inv_1_0_BLUE*tmp_q_14; - const real_t tmp_q_16 = jac_affine_inv_1_1_BLUE*tmp_q_14; - const real_t tmp_q_17 = jac_affine_inv_1_0_BLUE*tmp_q_0; - const real_t tmp_q_18 = jac_affine_inv_0_0_BLUE*tmp_q_1; - const real_t tmp_q_19 = tmp_q_17 + tmp_q_18; - const real_t tmp_q_20 = jac_affine_inv_1_1_BLUE*tmp_q_0; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE*tmp_q_1; - const real_t tmp_q_22 = tmp_q_20 + tmp_q_21; - const real_t tmp_q_23 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE*tmp_q_23 - tmp_q_18; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE*tmp_q_23 - tmp_q_21; - const real_t tmp_q_26 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t tmp_q_27 = jac_affine_inv_0_0_BLUE*tmp_q_26 - tmp_q_17; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE*tmp_q_26 - tmp_q_20; - const real_t tmp_q_29 = (tmp_q_11*tmp_q_11); - const real_t tmp_q_30 = (tmp_q_14*tmp_q_14); - const real_t q_tmp_0_0 = tmp_q_10*((tmp_q_3*tmp_q_3) + (tmp_q_4*tmp_q_4)); - const real_t q_tmp_0_1 = tmp_q_10*(tmp_q_12*tmp_q_3 + tmp_q_13*tmp_q_4); - const real_t q_tmp_0_2 = tmp_q_10*(tmp_q_15*tmp_q_3 + tmp_q_16*tmp_q_4); - const real_t q_tmp_0_3 = tmp_q_10*(tmp_q_19*tmp_q_3 + tmp_q_22*tmp_q_4); - const real_t q_tmp_0_4 = tmp_q_10*(tmp_q_24*tmp_q_3 + tmp_q_25*tmp_q_4); - const real_t q_tmp_0_5 = tmp_q_10*(tmp_q_27*tmp_q_3 + tmp_q_28*tmp_q_4); - const real_t q_tmp_1_1 = tmp_q_10*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_q_29 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_q_29); - const real_t q_tmp_1_2 = tmp_q_10*(tmp_q_12*tmp_q_15 + tmp_q_13*tmp_q_16); - const real_t q_tmp_1_3 = tmp_q_10*(tmp_q_12*tmp_q_19 + tmp_q_13*tmp_q_22); - const real_t q_tmp_1_4 = tmp_q_10*(tmp_q_12*tmp_q_24 + tmp_q_13*tmp_q_25); - const real_t q_tmp_1_5 = tmp_q_10*(tmp_q_12*tmp_q_27 + tmp_q_13*tmp_q_28); - const real_t q_tmp_2_2 = tmp_q_10*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_q_30 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_q_30); - const real_t q_tmp_2_3 = tmp_q_10*(tmp_q_15*tmp_q_19 + tmp_q_16*tmp_q_22); - const real_t q_tmp_2_4 = tmp_q_10*(tmp_q_15*tmp_q_24 + tmp_q_16*tmp_q_25); - const real_t q_tmp_2_5 = tmp_q_10*(tmp_q_15*tmp_q_27 + tmp_q_16*tmp_q_28); - const real_t q_tmp_3_3 = tmp_q_10*((tmp_q_19*tmp_q_19) + (tmp_q_22*tmp_q_22)); - const real_t q_tmp_3_4 = tmp_q_10*(tmp_q_19*tmp_q_24 + tmp_q_22*tmp_q_25); - const real_t q_tmp_3_5 = tmp_q_10*(tmp_q_19*tmp_q_27 + tmp_q_22*tmp_q_28); - const real_t q_tmp_4_4 = tmp_q_10*((tmp_q_24*tmp_q_24) + (tmp_q_25*tmp_q_25)); - const real_t q_tmp_4_5 = tmp_q_10*(tmp_q_24*tmp_q_27 + tmp_q_25*tmp_q_28); - const real_t q_tmp_5_5 = tmp_q_10*((tmp_q_27*tmp_q_27) + (tmp_q_28*tmp_q_28)); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = jac_affine_inv_0_0_BLUE*tmp_qloop_2 + jac_affine_inv_1_0_BLUE*tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = jac_affine_inv_0_1_BLUE*tmp_qloop_2 + jac_affine_inv_1_1_BLUE*tmp_qloop_2; + const walberla::float64 tmp_qloop_5 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_7 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_9 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_5 + k_dof_4*(tmp_qloop_1 - tmp_qloop_5 + tmp_qloop_8*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_5 + tmp_qloop_6*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_11 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_BLUE*tmp_qloop_11; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_0_1_BLUE*tmp_qloop_11; + const walberla::float64 tmp_qloop_14 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_15 = jac_affine_inv_1_0_BLUE*tmp_qloop_14; + const walberla::float64 tmp_qloop_16 = jac_affine_inv_1_1_BLUE*tmp_qloop_14; + const walberla::float64 tmp_qloop_17 = jac_affine_inv_1_0_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_18 = jac_affine_inv_0_0_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_1_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_22 = tmp_qloop_20 + tmp_qloop_21; + const walberla::float64 tmp_qloop_23 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE*tmp_qloop_23 - tmp_qloop_18; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE*tmp_qloop_23 - tmp_qloop_21; + const walberla::float64 tmp_qloop_26 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_0_0_BLUE*tmp_qloop_26 - tmp_qloop_17; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE*tmp_qloop_26 - tmp_qloop_20; + const walberla::float64 tmp_qloop_29 = (tmp_qloop_11*tmp_qloop_11); + const walberla::float64 tmp_qloop_30 = (tmp_qloop_14*tmp_qloop_14); + const walberla::float64 q_tmp_0_0 = tmp_qloop_10*((tmp_qloop_3*tmp_qloop_3) + (tmp_qloop_4*tmp_qloop_4)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_3 + tmp_qloop_13*tmp_qloop_4); + const walberla::float64 q_tmp_0_2 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_3 + tmp_qloop_16*tmp_qloop_4); + const walberla::float64 q_tmp_0_3 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_3 + tmp_qloop_22*tmp_qloop_4); + const walberla::float64 q_tmp_0_4 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_3 + tmp_qloop_25*tmp_qloop_4); + const walberla::float64 q_tmp_0_5 = tmp_qloop_10*(tmp_qloop_27*tmp_qloop_3 + tmp_qloop_28*tmp_qloop_4); + const walberla::float64 q_tmp_1_1 = tmp_qloop_10*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_qloop_29 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_qloop_29); + const walberla::float64 q_tmp_1_2 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_15 + tmp_qloop_13*tmp_qloop_16); + const walberla::float64 q_tmp_1_3 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_19 + tmp_qloop_13*tmp_qloop_22); + const walberla::float64 q_tmp_1_4 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_24 + tmp_qloop_13*tmp_qloop_25); + const walberla::float64 q_tmp_1_5 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_27 + tmp_qloop_13*tmp_qloop_28); + const walberla::float64 q_tmp_2_2 = tmp_qloop_10*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_qloop_30 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_qloop_30); + const walberla::float64 q_tmp_2_3 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_19 + tmp_qloop_16*tmp_qloop_22); + const walberla::float64 q_tmp_2_4 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_24 + tmp_qloop_16*tmp_qloop_25); + const walberla::float64 q_tmp_2_5 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_27 + tmp_qloop_16*tmp_qloop_28); + const walberla::float64 q_tmp_3_3 = tmp_qloop_10*((tmp_qloop_19*tmp_qloop_19) + (tmp_qloop_22*tmp_qloop_22)); + const walberla::float64 q_tmp_3_4 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_24 + tmp_qloop_22*tmp_qloop_25); + const walberla::float64 q_tmp_3_5 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_27 + tmp_qloop_22*tmp_qloop_28); + const walberla::float64 q_tmp_4_4 = tmp_qloop_10*((tmp_qloop_24*tmp_qloop_24) + (tmp_qloop_25*tmp_qloop_25)); + const walberla::float64 q_tmp_4_5 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_27 + tmp_qloop_25*tmp_qloop_28); + const walberla::float64 q_tmp_5_5 = tmp_qloop_10*((tmp_qloop_27*tmp_qloop_27) + (tmp_qloop_28*tmp_qloop_28)); 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; @@ -598,12 +598,12 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; q_acc_5_5 = q_acc_5_5 + q_tmp_5_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_0_1*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_0_2*src_dof_0 + q_acc_1_2*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; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; diff --git a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_3D.cpp b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_3D.cpp index 231cc6173235fe24250dadd787fa0a940e3436b1..7489c74ec68e1dc02527f1ccffb77ec06947d93c 100644 --- a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_3D.cpp +++ b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_apply_macro_3D.cpp @@ -56,56 +56,56 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, real_t * RESTRICT _data_dstVertex, 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 +void P2ElementwiseDivKGrad::apply_macro_3D( walberla::float64 * RESTRICT _data_dstEdge, walberla::float64 * RESTRICT _data_dstVertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 * RESTRICT _data_srcEdge, walberla::float64 * RESTRICT _data_srcVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.041666666666666657, 0.041666666666666657, 0.041666666666666657, 0.041666666666666657}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; + const walberla::float64 _data_q_p_0 [] = {0.1381966011250105, 0.1381966011250105, 0.5854101966249684, 0.1381966011250105}; - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; + const walberla::float64 _data_q_p_1 [] = {0.1381966011250105, 0.5854101966249684, 0.1381966011250105, 0.1381966011250105}; - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; + const walberla::float64 _data_q_p_2 [] = {0.5854101966249684, 0.1381966011250105, 0.1381966011250105, 0.1381966011250105}; - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -190,153 +190,153 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))); - const __m256d tmp_q_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))); - const __m256d tmp_q_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))); - const __m256d tmp_q_8 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_10 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_11 = _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_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_13 = _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_q_14 = _mm256_mul_pd(tmp_q_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_15 = _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_q_16 = _mm256_mul_pd(tmp_q_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_17 = _mm256_add_pd(tmp_q_8,tmp_q_9); - const __m256d tmp_q_18 = _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_q_12)),_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_q_14))),_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_q_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_10),tmp_q_12),tmp_q_14),tmp_q_16),tmp_q_17))),_mm256_mul_pd(k_dof_4,tmp_q_10)),_mm256_mul_pd(k_dof_5,tmp_q_9)),_mm256_mul_pd(k_dof_6,tmp_q_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP)); - const __m256d tmp_q_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)); - const __m256d tmp_q_22 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_2); - const __m256d tmp_q_24 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)); - const __m256d tmp_q_25 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)); - const __m256d tmp_q_26 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_28 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)); - const __m256d tmp_q_31 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)); - const __m256d tmp_q_32 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)); - const __m256d tmp_q_33 = _mm256_add_pd(tmp_q_31,tmp_q_32); - const __m256d tmp_q_34 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)); - const __m256d tmp_q_35 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)); - const __m256d tmp_q_36 = _mm256_add_pd(tmp_q_34,tmp_q_35); - const __m256d tmp_q_37 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)); - const __m256d tmp_q_38 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)); - const __m256d tmp_q_39 = _mm256_add_pd(tmp_q_37,tmp_q_38); - const __m256d tmp_q_40 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)); - const __m256d tmp_q_41 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)); - const __m256d tmp_q_42 = _mm256_add_pd(tmp_q_40,tmp_q_41); - const __m256d tmp_q_43 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)); - const __m256d tmp_q_44 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)); - const __m256d tmp_q_45 = _mm256_add_pd(tmp_q_43,tmp_q_44); - const __m256d tmp_q_46 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)); - const __m256d tmp_q_47 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)); - const __m256d tmp_q_48 = _mm256_add_pd(tmp_q_46,tmp_q_47); - const __m256d tmp_q_49 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)); - const __m256d tmp_q_50 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)); - const __m256d tmp_q_51 = _mm256_add_pd(tmp_q_49,tmp_q_50); - const __m256d tmp_q_52 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)); - const __m256d tmp_q_53 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)); - const __m256d tmp_q_54 = _mm256_add_pd(tmp_q_52,tmp_q_53); - const __m256d tmp_q_55 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)); - const __m256d tmp_q_56 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)); - const __m256d tmp_q_57 = _mm256_add_pd(tmp_q_55,tmp_q_56); - const __m256d tmp_q_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))); - const __m256d tmp_q_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))); - const __m256d tmp_q_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))); - const __m256d tmp_q_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))); - const __m256d tmp_q_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))); - const __m256d tmp_q_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))); - const __m256d tmp_q_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d tmp_q_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))); - const __m256d tmp_q_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))); - const __m256d tmp_q_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))); - const __m256d tmp_q_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_5),_mm256_mul_pd(tmp_q_6,tmp_q_6)),_mm256_mul_pd(tmp_q_7,tmp_q_7))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_5),_mm256_mul_pd(tmp_q_21,tmp_q_6)),_mm256_mul_pd(tmp_q_22,tmp_q_7))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_5),_mm256_mul_pd(tmp_q_25,tmp_q_6)),_mm256_mul_pd(tmp_q_26,tmp_q_7))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_5),_mm256_mul_pd(tmp_q_29,tmp_q_6)),_mm256_mul_pd(tmp_q_30,tmp_q_7))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_5),_mm256_mul_pd(tmp_q_36,tmp_q_6)),_mm256_mul_pd(tmp_q_39,tmp_q_7))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_5),_mm256_mul_pd(tmp_q_45,tmp_q_6)),_mm256_mul_pd(tmp_q_48,tmp_q_7))); - const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_51),_mm256_mul_pd(tmp_q_54,tmp_q_6)),_mm256_mul_pd(tmp_q_57,tmp_q_7))); - const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_59),_mm256_mul_pd(tmp_q_6,tmp_q_60)),_mm256_mul_pd(tmp_q_61,tmp_q_7))); - const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_64),_mm256_mul_pd(tmp_q_6,tmp_q_65)),_mm256_mul_pd(tmp_q_66,tmp_q_7))); - const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_68),_mm256_mul_pd(tmp_q_6,tmp_q_69)),_mm256_mul_pd(tmp_q_7,tmp_q_70))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_24),_mm256_mul_pd(tmp_q_21,tmp_q_25)),_mm256_mul_pd(tmp_q_22,tmp_q_26))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_28),_mm256_mul_pd(tmp_q_21,tmp_q_29)),_mm256_mul_pd(tmp_q_22,tmp_q_30))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_33),_mm256_mul_pd(tmp_q_21,tmp_q_36)),_mm256_mul_pd(tmp_q_22,tmp_q_39))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_42),_mm256_mul_pd(tmp_q_21,tmp_q_45)),_mm256_mul_pd(tmp_q_22,tmp_q_48))); - const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_51),_mm256_mul_pd(tmp_q_21,tmp_q_54)),_mm256_mul_pd(tmp_q_22,tmp_q_57))); - const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_59),_mm256_mul_pd(tmp_q_21,tmp_q_60)),_mm256_mul_pd(tmp_q_22,tmp_q_61))); - const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_64),_mm256_mul_pd(tmp_q_21,tmp_q_65)),_mm256_mul_pd(tmp_q_22,tmp_q_66))); - const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_68),_mm256_mul_pd(tmp_q_21,tmp_q_69)),_mm256_mul_pd(tmp_q_22,tmp_q_70))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_28),_mm256_mul_pd(tmp_q_25,tmp_q_29)),_mm256_mul_pd(tmp_q_26,tmp_q_30))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_33),_mm256_mul_pd(tmp_q_25,tmp_q_36)),_mm256_mul_pd(tmp_q_26,tmp_q_39))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_42),_mm256_mul_pd(tmp_q_25,tmp_q_45)),_mm256_mul_pd(tmp_q_26,tmp_q_48))); - const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_51),_mm256_mul_pd(tmp_q_25,tmp_q_54)),_mm256_mul_pd(tmp_q_26,tmp_q_57))); - const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_59),_mm256_mul_pd(tmp_q_25,tmp_q_60)),_mm256_mul_pd(tmp_q_26,tmp_q_61))); - const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_64),_mm256_mul_pd(tmp_q_25,tmp_q_65)),_mm256_mul_pd(tmp_q_26,tmp_q_66))); - const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_68),_mm256_mul_pd(tmp_q_25,tmp_q_69)),_mm256_mul_pd(tmp_q_26,tmp_q_70))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_33),_mm256_mul_pd(tmp_q_29,tmp_q_36)),_mm256_mul_pd(tmp_q_30,tmp_q_39))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_42),_mm256_mul_pd(tmp_q_29,tmp_q_45)),_mm256_mul_pd(tmp_q_30,tmp_q_48))); - const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_51),_mm256_mul_pd(tmp_q_29,tmp_q_54)),_mm256_mul_pd(tmp_q_30,tmp_q_57))); - const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_59),_mm256_mul_pd(tmp_q_29,tmp_q_60)),_mm256_mul_pd(tmp_q_30,tmp_q_61))); - const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_64),_mm256_mul_pd(tmp_q_29,tmp_q_65)),_mm256_mul_pd(tmp_q_30,tmp_q_66))); - const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_68),_mm256_mul_pd(tmp_q_29,tmp_q_69)),_mm256_mul_pd(tmp_q_30,tmp_q_70))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_42),_mm256_mul_pd(tmp_q_36,tmp_q_45)),_mm256_mul_pd(tmp_q_39,tmp_q_48))); - const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_51),_mm256_mul_pd(tmp_q_36,tmp_q_54)),_mm256_mul_pd(tmp_q_39,tmp_q_57))); - const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_59),_mm256_mul_pd(tmp_q_36,tmp_q_60)),_mm256_mul_pd(tmp_q_39,tmp_q_61))); - const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_64),_mm256_mul_pd(tmp_q_36,tmp_q_65)),_mm256_mul_pd(tmp_q_39,tmp_q_66))); - const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_68),_mm256_mul_pd(tmp_q_36,tmp_q_69)),_mm256_mul_pd(tmp_q_39,tmp_q_70))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81)),_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83)),_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85)),_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_51),_mm256_mul_pd(tmp_q_45,tmp_q_54)),_mm256_mul_pd(tmp_q_48,tmp_q_57))); - const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_59),_mm256_mul_pd(tmp_q_45,tmp_q_60)),_mm256_mul_pd(tmp_q_48,tmp_q_61))); - const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_64),_mm256_mul_pd(tmp_q_45,tmp_q_65)),_mm256_mul_pd(tmp_q_48,tmp_q_66))); - const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_68),_mm256_mul_pd(tmp_q_45,tmp_q_69)),_mm256_mul_pd(tmp_q_48,tmp_q_70))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87)),_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89)),_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91)),_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_59),_mm256_mul_pd(tmp_q_54,tmp_q_60)),_mm256_mul_pd(tmp_q_57,tmp_q_61))); - const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_64),_mm256_mul_pd(tmp_q_54,tmp_q_65)),_mm256_mul_pd(tmp_q_57,tmp_q_66))); - const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_68),_mm256_mul_pd(tmp_q_54,tmp_q_69)),_mm256_mul_pd(tmp_q_57,tmp_q_70))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_64),_mm256_mul_pd(tmp_q_60,tmp_q_65)),_mm256_mul_pd(tmp_q_61,tmp_q_66))); - const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_68),_mm256_mul_pd(tmp_q_60,tmp_q_69)),_mm256_mul_pd(tmp_q_61,tmp_q_70))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_64,tmp_q_68),_mm256_mul_pd(tmp_q_65,tmp_q_69)),_mm256_mul_pd(tmp_q_66,tmp_q_70))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))); + const __m256d tmp_qloop_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))); + const __m256d tmp_qloop_8 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_10 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_13 = _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_14 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_15 = _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_16 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_17 = _mm256_add_pd(tmp_qloop_8,tmp_qloop_9); + const __m256d tmp_qloop_18 = _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_12)),_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_14))),_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_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_12),tmp_qloop_14),tmp_qloop_16),tmp_qloop_17))),_mm256_mul_pd(k_dof_4,tmp_qloop_10)),_mm256_mul_pd(k_dof_5,tmp_qloop_9)),_mm256_mul_pd(k_dof_6,tmp_qloop_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP)); + const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)); + const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2); + const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)); + const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)); + const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)); + const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)); + const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)); + const __m256d tmp_qloop_33 = _mm256_add_pd(tmp_qloop_31,tmp_qloop_32); + const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)); + const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)); + const __m256d tmp_qloop_36 = _mm256_add_pd(tmp_qloop_34,tmp_qloop_35); + const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)); + const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)); + const __m256d tmp_qloop_39 = _mm256_add_pd(tmp_qloop_37,tmp_qloop_38); + const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)); + const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)); + const __m256d tmp_qloop_42 = _mm256_add_pd(tmp_qloop_40,tmp_qloop_41); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)); + const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)); + const __m256d tmp_qloop_45 = _mm256_add_pd(tmp_qloop_43,tmp_qloop_44); + const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)); + const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)); + const __m256d tmp_qloop_48 = _mm256_add_pd(tmp_qloop_46,tmp_qloop_47); + const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)); + const __m256d tmp_qloop_51 = _mm256_add_pd(tmp_qloop_49,tmp_qloop_50); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)); + const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)); + const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_53); + const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)); + const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)); + const __m256d tmp_qloop_57 = _mm256_add_pd(tmp_qloop_55,tmp_qloop_56); + const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))); + const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))); + const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))); + const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))); + const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))); + const __m256d tmp_qloop_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))); + const __m256d tmp_qloop_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))); + const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))); + const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))); + const __m256d tmp_qloop_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_7))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_7))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_7))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_7))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_7))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_7))); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_7))); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_7))); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_7))); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_70))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_39))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_48))); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_57))); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_61))); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_66))); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_70))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_30))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_39))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_48))); + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_57))); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_61))); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66))); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_70))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_39))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_48))); + const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_57))); + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_61))); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_66))); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_70))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_48))); + const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_57))); + const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61))); + const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_66))); + const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_70))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_57))); + const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_61))); + const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_66))); + const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_70))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_61))); + const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_66))); + const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_70))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_66))); + const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_70))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_64,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_65,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_70))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); 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); @@ -416,230 +416,230 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_WHITE_UP*tmp_q_4 + jac_affine_inv_1_0_WHITE_UP*tmp_q_4 + jac_affine_inv_2_0_WHITE_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_WHITE_UP*tmp_q_4 + jac_affine_inv_1_1_WHITE_UP*tmp_q_4 + jac_affine_inv_2_1_WHITE_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_WHITE_UP*tmp_q_4 + jac_affine_inv_1_2_WHITE_UP*tmp_q_4 + jac_affine_inv_2_2_WHITE_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_WHITE_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_WHITE_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_WHITE_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_WHITE_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_WHITE_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_WHITE_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_WHITE_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_WHITE_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_WHITE_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_WHITE_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_WHITE_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_WHITE_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_WHITE_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_WHITE_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_WHITE_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_WHITE_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_WHITE_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_WHITE_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_WHITE_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_WHITE_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_WHITE_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_WHITE_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_WHITE_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_WHITE_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_WHITE_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_WHITE_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_WHITE_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_WHITE_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_WHITE_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_WHITE_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_WHITE_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_WHITE_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_WHITE_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_WHITE_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_WHITE_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_WHITE_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_q_71 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_q_71 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_q_72 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_q_72 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_q_73 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_q_73 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_WHITE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_WHITE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_WHITE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_WHITE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_WHITE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_WHITE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_WHITE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_WHITE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_WHITE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_WHITE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_WHITE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_WHITE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -696,16 +696,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; @@ -719,57 +719,57 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -854,153 +854,153 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))); - const __m256d tmp_q_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))); - const __m256d tmp_q_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))); - const __m256d tmp_q_8 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_10 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_11 = _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_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_13 = _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_q_14 = _mm256_mul_pd(tmp_q_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_15 = _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_q_16 = _mm256_mul_pd(tmp_q_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_17 = _mm256_add_pd(tmp_q_8,tmp_q_9); - const __m256d tmp_q_18 = _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_q_12)),_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_q_14))),_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_q_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_10),tmp_q_12),tmp_q_14),tmp_q_16),tmp_q_17))),_mm256_mul_pd(k_dof_4,tmp_q_10)),_mm256_mul_pd(k_dof_5,tmp_q_9)),_mm256_mul_pd(k_dof_6,tmp_q_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN)); - const __m256d tmp_q_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)); - const __m256d tmp_q_22 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_2); - const __m256d tmp_q_24 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)); - const __m256d tmp_q_25 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)); - const __m256d tmp_q_26 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_28 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)); - const __m256d tmp_q_31 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)); - const __m256d tmp_q_32 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)); - const __m256d tmp_q_33 = _mm256_add_pd(tmp_q_31,tmp_q_32); - const __m256d tmp_q_34 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)); - const __m256d tmp_q_35 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)); - const __m256d tmp_q_36 = _mm256_add_pd(tmp_q_34,tmp_q_35); - const __m256d tmp_q_37 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)); - const __m256d tmp_q_38 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)); - const __m256d tmp_q_39 = _mm256_add_pd(tmp_q_37,tmp_q_38); - const __m256d tmp_q_40 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)); - const __m256d tmp_q_41 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)); - const __m256d tmp_q_42 = _mm256_add_pd(tmp_q_40,tmp_q_41); - const __m256d tmp_q_43 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)); - const __m256d tmp_q_44 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)); - const __m256d tmp_q_45 = _mm256_add_pd(tmp_q_43,tmp_q_44); - const __m256d tmp_q_46 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)); - const __m256d tmp_q_47 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)); - const __m256d tmp_q_48 = _mm256_add_pd(tmp_q_46,tmp_q_47); - const __m256d tmp_q_49 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)); - const __m256d tmp_q_50 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)); - const __m256d tmp_q_51 = _mm256_add_pd(tmp_q_49,tmp_q_50); - const __m256d tmp_q_52 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)); - const __m256d tmp_q_53 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)); - const __m256d tmp_q_54 = _mm256_add_pd(tmp_q_52,tmp_q_53); - const __m256d tmp_q_55 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)); - const __m256d tmp_q_56 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)); - const __m256d tmp_q_57 = _mm256_add_pd(tmp_q_55,tmp_q_56); - const __m256d tmp_q_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))); - const __m256d tmp_q_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))); - const __m256d tmp_q_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))); - const __m256d tmp_q_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))); - const __m256d tmp_q_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))); - const __m256d tmp_q_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))); - const __m256d tmp_q_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d tmp_q_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))); - const __m256d tmp_q_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))); - const __m256d tmp_q_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))); - const __m256d tmp_q_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_5),_mm256_mul_pd(tmp_q_6,tmp_q_6)),_mm256_mul_pd(tmp_q_7,tmp_q_7))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_5),_mm256_mul_pd(tmp_q_21,tmp_q_6)),_mm256_mul_pd(tmp_q_22,tmp_q_7))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_5),_mm256_mul_pd(tmp_q_25,tmp_q_6)),_mm256_mul_pd(tmp_q_26,tmp_q_7))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_5),_mm256_mul_pd(tmp_q_29,tmp_q_6)),_mm256_mul_pd(tmp_q_30,tmp_q_7))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_5),_mm256_mul_pd(tmp_q_36,tmp_q_6)),_mm256_mul_pd(tmp_q_39,tmp_q_7))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_5),_mm256_mul_pd(tmp_q_45,tmp_q_6)),_mm256_mul_pd(tmp_q_48,tmp_q_7))); - const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_51),_mm256_mul_pd(tmp_q_54,tmp_q_6)),_mm256_mul_pd(tmp_q_57,tmp_q_7))); - const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_59),_mm256_mul_pd(tmp_q_6,tmp_q_60)),_mm256_mul_pd(tmp_q_61,tmp_q_7))); - const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_64),_mm256_mul_pd(tmp_q_6,tmp_q_65)),_mm256_mul_pd(tmp_q_66,tmp_q_7))); - const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_68),_mm256_mul_pd(tmp_q_6,tmp_q_69)),_mm256_mul_pd(tmp_q_7,tmp_q_70))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_24),_mm256_mul_pd(tmp_q_21,tmp_q_25)),_mm256_mul_pd(tmp_q_22,tmp_q_26))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_28),_mm256_mul_pd(tmp_q_21,tmp_q_29)),_mm256_mul_pd(tmp_q_22,tmp_q_30))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_33),_mm256_mul_pd(tmp_q_21,tmp_q_36)),_mm256_mul_pd(tmp_q_22,tmp_q_39))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_42),_mm256_mul_pd(tmp_q_21,tmp_q_45)),_mm256_mul_pd(tmp_q_22,tmp_q_48))); - const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_51),_mm256_mul_pd(tmp_q_21,tmp_q_54)),_mm256_mul_pd(tmp_q_22,tmp_q_57))); - const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_59),_mm256_mul_pd(tmp_q_21,tmp_q_60)),_mm256_mul_pd(tmp_q_22,tmp_q_61))); - const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_64),_mm256_mul_pd(tmp_q_21,tmp_q_65)),_mm256_mul_pd(tmp_q_22,tmp_q_66))); - const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_68),_mm256_mul_pd(tmp_q_21,tmp_q_69)),_mm256_mul_pd(tmp_q_22,tmp_q_70))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_28),_mm256_mul_pd(tmp_q_25,tmp_q_29)),_mm256_mul_pd(tmp_q_26,tmp_q_30))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_33),_mm256_mul_pd(tmp_q_25,tmp_q_36)),_mm256_mul_pd(tmp_q_26,tmp_q_39))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_42),_mm256_mul_pd(tmp_q_25,tmp_q_45)),_mm256_mul_pd(tmp_q_26,tmp_q_48))); - const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_51),_mm256_mul_pd(tmp_q_25,tmp_q_54)),_mm256_mul_pd(tmp_q_26,tmp_q_57))); - const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_59),_mm256_mul_pd(tmp_q_25,tmp_q_60)),_mm256_mul_pd(tmp_q_26,tmp_q_61))); - const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_64),_mm256_mul_pd(tmp_q_25,tmp_q_65)),_mm256_mul_pd(tmp_q_26,tmp_q_66))); - const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_68),_mm256_mul_pd(tmp_q_25,tmp_q_69)),_mm256_mul_pd(tmp_q_26,tmp_q_70))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_33),_mm256_mul_pd(tmp_q_29,tmp_q_36)),_mm256_mul_pd(tmp_q_30,tmp_q_39))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_42),_mm256_mul_pd(tmp_q_29,tmp_q_45)),_mm256_mul_pd(tmp_q_30,tmp_q_48))); - const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_51),_mm256_mul_pd(tmp_q_29,tmp_q_54)),_mm256_mul_pd(tmp_q_30,tmp_q_57))); - const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_59),_mm256_mul_pd(tmp_q_29,tmp_q_60)),_mm256_mul_pd(tmp_q_30,tmp_q_61))); - const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_64),_mm256_mul_pd(tmp_q_29,tmp_q_65)),_mm256_mul_pd(tmp_q_30,tmp_q_66))); - const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_68),_mm256_mul_pd(tmp_q_29,tmp_q_69)),_mm256_mul_pd(tmp_q_30,tmp_q_70))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_42),_mm256_mul_pd(tmp_q_36,tmp_q_45)),_mm256_mul_pd(tmp_q_39,tmp_q_48))); - const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_51),_mm256_mul_pd(tmp_q_36,tmp_q_54)),_mm256_mul_pd(tmp_q_39,tmp_q_57))); - const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_59),_mm256_mul_pd(tmp_q_36,tmp_q_60)),_mm256_mul_pd(tmp_q_39,tmp_q_61))); - const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_64),_mm256_mul_pd(tmp_q_36,tmp_q_65)),_mm256_mul_pd(tmp_q_39,tmp_q_66))); - const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_68),_mm256_mul_pd(tmp_q_36,tmp_q_69)),_mm256_mul_pd(tmp_q_39,tmp_q_70))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81)),_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83)),_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85)),_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_51),_mm256_mul_pd(tmp_q_45,tmp_q_54)),_mm256_mul_pd(tmp_q_48,tmp_q_57))); - const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_59),_mm256_mul_pd(tmp_q_45,tmp_q_60)),_mm256_mul_pd(tmp_q_48,tmp_q_61))); - const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_64),_mm256_mul_pd(tmp_q_45,tmp_q_65)),_mm256_mul_pd(tmp_q_48,tmp_q_66))); - const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_68),_mm256_mul_pd(tmp_q_45,tmp_q_69)),_mm256_mul_pd(tmp_q_48,tmp_q_70))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87)),_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89)),_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91)),_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_59),_mm256_mul_pd(tmp_q_54,tmp_q_60)),_mm256_mul_pd(tmp_q_57,tmp_q_61))); - const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_64),_mm256_mul_pd(tmp_q_54,tmp_q_65)),_mm256_mul_pd(tmp_q_57,tmp_q_66))); - const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_68),_mm256_mul_pd(tmp_q_54,tmp_q_69)),_mm256_mul_pd(tmp_q_57,tmp_q_70))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_64),_mm256_mul_pd(tmp_q_60,tmp_q_65)),_mm256_mul_pd(tmp_q_61,tmp_q_66))); - const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_68),_mm256_mul_pd(tmp_q_60,tmp_q_69)),_mm256_mul_pd(tmp_q_61,tmp_q_70))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_64,tmp_q_68),_mm256_mul_pd(tmp_q_65,tmp_q_69)),_mm256_mul_pd(tmp_q_66,tmp_q_70))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))); + const __m256d tmp_qloop_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))); + const __m256d tmp_qloop_8 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_10 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_13 = _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_14 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_15 = _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_16 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_17 = _mm256_add_pd(tmp_qloop_8,tmp_qloop_9); + const __m256d tmp_qloop_18 = _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_12)),_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_14))),_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_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_12),tmp_qloop_14),tmp_qloop_16),tmp_qloop_17))),_mm256_mul_pd(k_dof_4,tmp_qloop_10)),_mm256_mul_pd(k_dof_5,tmp_qloop_9)),_mm256_mul_pd(k_dof_6,tmp_qloop_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN)); + const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)); + const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2); + const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)); + const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)); + const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)); + const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)); + const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)); + const __m256d tmp_qloop_33 = _mm256_add_pd(tmp_qloop_31,tmp_qloop_32); + const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)); + const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)); + const __m256d tmp_qloop_36 = _mm256_add_pd(tmp_qloop_34,tmp_qloop_35); + const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)); + const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)); + const __m256d tmp_qloop_39 = _mm256_add_pd(tmp_qloop_37,tmp_qloop_38); + const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)); + const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)); + const __m256d tmp_qloop_42 = _mm256_add_pd(tmp_qloop_40,tmp_qloop_41); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)); + const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)); + const __m256d tmp_qloop_45 = _mm256_add_pd(tmp_qloop_43,tmp_qloop_44); + const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)); + const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)); + const __m256d tmp_qloop_48 = _mm256_add_pd(tmp_qloop_46,tmp_qloop_47); + const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)); + const __m256d tmp_qloop_51 = _mm256_add_pd(tmp_qloop_49,tmp_qloop_50); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)); + const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)); + const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_53); + const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)); + const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)); + const __m256d tmp_qloop_57 = _mm256_add_pd(tmp_qloop_55,tmp_qloop_56); + const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))); + const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))); + const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))); + const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))); + const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))); + const __m256d tmp_qloop_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))); + const __m256d tmp_qloop_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))); + const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))); + const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))); + const __m256d tmp_qloop_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_7))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_7))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_7))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_7))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_7))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_7))); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_7))); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_7))); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_7))); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_70))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_39))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_48))); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_57))); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_61))); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_66))); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_70))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_30))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_39))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_48))); + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_57))); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_61))); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66))); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_70))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_39))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_48))); + const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_57))); + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_61))); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_66))); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_70))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_48))); + const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_57))); + const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61))); + const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_66))); + const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_70))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_57))); + const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_61))); + const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_66))); + const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_70))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_61))); + const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_66))); + const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_70))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_66))); + const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_70))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_64,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_65,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_70))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); 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); @@ -1080,230 +1080,230 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -1360,16 +1360,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -1383,51 +1383,51 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -1512,153 +1512,153 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))); - const __m256d tmp_q_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))); - const __m256d tmp_q_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))); - const __m256d tmp_q_8 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_10 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_11 = _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_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_13 = _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_q_14 = _mm256_mul_pd(tmp_q_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_15 = _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_q_16 = _mm256_mul_pd(tmp_q_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_17 = _mm256_add_pd(tmp_q_8,tmp_q_9); - const __m256d tmp_q_18 = _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_q_12)),_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_q_14))),_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_q_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_10),tmp_q_12),tmp_q_14),tmp_q_16),tmp_q_17))),_mm256_mul_pd(k_dof_4,tmp_q_10)),_mm256_mul_pd(k_dof_5,tmp_q_9)),_mm256_mul_pd(k_dof_6,tmp_q_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP)); - const __m256d tmp_q_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)); - const __m256d tmp_q_22 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_2); - const __m256d tmp_q_24 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)); - const __m256d tmp_q_25 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)); - const __m256d tmp_q_26 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_28 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)); - const __m256d tmp_q_31 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)); - const __m256d tmp_q_32 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)); - const __m256d tmp_q_33 = _mm256_add_pd(tmp_q_31,tmp_q_32); - const __m256d tmp_q_34 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)); - const __m256d tmp_q_35 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)); - const __m256d tmp_q_36 = _mm256_add_pd(tmp_q_34,tmp_q_35); - const __m256d tmp_q_37 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)); - const __m256d tmp_q_38 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)); - const __m256d tmp_q_39 = _mm256_add_pd(tmp_q_37,tmp_q_38); - const __m256d tmp_q_40 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)); - const __m256d tmp_q_41 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)); - const __m256d tmp_q_42 = _mm256_add_pd(tmp_q_40,tmp_q_41); - const __m256d tmp_q_43 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)); - const __m256d tmp_q_44 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)); - const __m256d tmp_q_45 = _mm256_add_pd(tmp_q_43,tmp_q_44); - const __m256d tmp_q_46 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)); - const __m256d tmp_q_47 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)); - const __m256d tmp_q_48 = _mm256_add_pd(tmp_q_46,tmp_q_47); - const __m256d tmp_q_49 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)); - const __m256d tmp_q_50 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)); - const __m256d tmp_q_51 = _mm256_add_pd(tmp_q_49,tmp_q_50); - const __m256d tmp_q_52 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)); - const __m256d tmp_q_53 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)); - const __m256d tmp_q_54 = _mm256_add_pd(tmp_q_52,tmp_q_53); - const __m256d tmp_q_55 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)); - const __m256d tmp_q_56 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)); - const __m256d tmp_q_57 = _mm256_add_pd(tmp_q_55,tmp_q_56); - const __m256d tmp_q_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))); - const __m256d tmp_q_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))); - const __m256d tmp_q_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))); - const __m256d tmp_q_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))); - const __m256d tmp_q_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))); - const __m256d tmp_q_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))); - const __m256d tmp_q_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d tmp_q_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))); - const __m256d tmp_q_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))); - const __m256d tmp_q_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))); - const __m256d tmp_q_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_5),_mm256_mul_pd(tmp_q_6,tmp_q_6)),_mm256_mul_pd(tmp_q_7,tmp_q_7))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_5),_mm256_mul_pd(tmp_q_21,tmp_q_6)),_mm256_mul_pd(tmp_q_22,tmp_q_7))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_5),_mm256_mul_pd(tmp_q_25,tmp_q_6)),_mm256_mul_pd(tmp_q_26,tmp_q_7))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_5),_mm256_mul_pd(tmp_q_29,tmp_q_6)),_mm256_mul_pd(tmp_q_30,tmp_q_7))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_5),_mm256_mul_pd(tmp_q_36,tmp_q_6)),_mm256_mul_pd(tmp_q_39,tmp_q_7))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_5),_mm256_mul_pd(tmp_q_45,tmp_q_6)),_mm256_mul_pd(tmp_q_48,tmp_q_7))); - const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_51),_mm256_mul_pd(tmp_q_54,tmp_q_6)),_mm256_mul_pd(tmp_q_57,tmp_q_7))); - const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_59),_mm256_mul_pd(tmp_q_6,tmp_q_60)),_mm256_mul_pd(tmp_q_61,tmp_q_7))); - const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_64),_mm256_mul_pd(tmp_q_6,tmp_q_65)),_mm256_mul_pd(tmp_q_66,tmp_q_7))); - const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_68),_mm256_mul_pd(tmp_q_6,tmp_q_69)),_mm256_mul_pd(tmp_q_7,tmp_q_70))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_24),_mm256_mul_pd(tmp_q_21,tmp_q_25)),_mm256_mul_pd(tmp_q_22,tmp_q_26))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_28),_mm256_mul_pd(tmp_q_21,tmp_q_29)),_mm256_mul_pd(tmp_q_22,tmp_q_30))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_33),_mm256_mul_pd(tmp_q_21,tmp_q_36)),_mm256_mul_pd(tmp_q_22,tmp_q_39))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_42),_mm256_mul_pd(tmp_q_21,tmp_q_45)),_mm256_mul_pd(tmp_q_22,tmp_q_48))); - const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_51),_mm256_mul_pd(tmp_q_21,tmp_q_54)),_mm256_mul_pd(tmp_q_22,tmp_q_57))); - const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_59),_mm256_mul_pd(tmp_q_21,tmp_q_60)),_mm256_mul_pd(tmp_q_22,tmp_q_61))); - const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_64),_mm256_mul_pd(tmp_q_21,tmp_q_65)),_mm256_mul_pd(tmp_q_22,tmp_q_66))); - const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_68),_mm256_mul_pd(tmp_q_21,tmp_q_69)),_mm256_mul_pd(tmp_q_22,tmp_q_70))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_28),_mm256_mul_pd(tmp_q_25,tmp_q_29)),_mm256_mul_pd(tmp_q_26,tmp_q_30))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_33),_mm256_mul_pd(tmp_q_25,tmp_q_36)),_mm256_mul_pd(tmp_q_26,tmp_q_39))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_42),_mm256_mul_pd(tmp_q_25,tmp_q_45)),_mm256_mul_pd(tmp_q_26,tmp_q_48))); - const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_51),_mm256_mul_pd(tmp_q_25,tmp_q_54)),_mm256_mul_pd(tmp_q_26,tmp_q_57))); - const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_59),_mm256_mul_pd(tmp_q_25,tmp_q_60)),_mm256_mul_pd(tmp_q_26,tmp_q_61))); - const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_64),_mm256_mul_pd(tmp_q_25,tmp_q_65)),_mm256_mul_pd(tmp_q_26,tmp_q_66))); - const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_68),_mm256_mul_pd(tmp_q_25,tmp_q_69)),_mm256_mul_pd(tmp_q_26,tmp_q_70))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_33),_mm256_mul_pd(tmp_q_29,tmp_q_36)),_mm256_mul_pd(tmp_q_30,tmp_q_39))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_42),_mm256_mul_pd(tmp_q_29,tmp_q_45)),_mm256_mul_pd(tmp_q_30,tmp_q_48))); - const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_51),_mm256_mul_pd(tmp_q_29,tmp_q_54)),_mm256_mul_pd(tmp_q_30,tmp_q_57))); - const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_59),_mm256_mul_pd(tmp_q_29,tmp_q_60)),_mm256_mul_pd(tmp_q_30,tmp_q_61))); - const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_64),_mm256_mul_pd(tmp_q_29,tmp_q_65)),_mm256_mul_pd(tmp_q_30,tmp_q_66))); - const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_68),_mm256_mul_pd(tmp_q_29,tmp_q_69)),_mm256_mul_pd(tmp_q_30,tmp_q_70))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_42),_mm256_mul_pd(tmp_q_36,tmp_q_45)),_mm256_mul_pd(tmp_q_39,tmp_q_48))); - const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_51),_mm256_mul_pd(tmp_q_36,tmp_q_54)),_mm256_mul_pd(tmp_q_39,tmp_q_57))); - const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_59),_mm256_mul_pd(tmp_q_36,tmp_q_60)),_mm256_mul_pd(tmp_q_39,tmp_q_61))); - const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_64),_mm256_mul_pd(tmp_q_36,tmp_q_65)),_mm256_mul_pd(tmp_q_39,tmp_q_66))); - const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_68),_mm256_mul_pd(tmp_q_36,tmp_q_69)),_mm256_mul_pd(tmp_q_39,tmp_q_70))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81)),_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83)),_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85)),_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_51),_mm256_mul_pd(tmp_q_45,tmp_q_54)),_mm256_mul_pd(tmp_q_48,tmp_q_57))); - const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_59),_mm256_mul_pd(tmp_q_45,tmp_q_60)),_mm256_mul_pd(tmp_q_48,tmp_q_61))); - const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_64),_mm256_mul_pd(tmp_q_45,tmp_q_65)),_mm256_mul_pd(tmp_q_48,tmp_q_66))); - const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_68),_mm256_mul_pd(tmp_q_45,tmp_q_69)),_mm256_mul_pd(tmp_q_48,tmp_q_70))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87)),_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89)),_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91)),_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_59),_mm256_mul_pd(tmp_q_54,tmp_q_60)),_mm256_mul_pd(tmp_q_57,tmp_q_61))); - const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_64),_mm256_mul_pd(tmp_q_54,tmp_q_65)),_mm256_mul_pd(tmp_q_57,tmp_q_66))); - const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_68),_mm256_mul_pd(tmp_q_54,tmp_q_69)),_mm256_mul_pd(tmp_q_57,tmp_q_70))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_64),_mm256_mul_pd(tmp_q_60,tmp_q_65)),_mm256_mul_pd(tmp_q_61,tmp_q_66))); - const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_68),_mm256_mul_pd(tmp_q_60,tmp_q_69)),_mm256_mul_pd(tmp_q_61,tmp_q_70))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_64,tmp_q_68),_mm256_mul_pd(tmp_q_65,tmp_q_69)),_mm256_mul_pd(tmp_q_66,tmp_q_70))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))); + const __m256d tmp_qloop_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))); + const __m256d tmp_qloop_8 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_10 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_13 = _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_14 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_15 = _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_16 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_17 = _mm256_add_pd(tmp_qloop_8,tmp_qloop_9); + const __m256d tmp_qloop_18 = _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_12)),_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_14))),_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_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_12),tmp_qloop_14),tmp_qloop_16),tmp_qloop_17))),_mm256_mul_pd(k_dof_4,tmp_qloop_10)),_mm256_mul_pd(k_dof_5,tmp_qloop_9)),_mm256_mul_pd(k_dof_6,tmp_qloop_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP)); + const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)); + const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2); + const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)); + const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)); + const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)); + const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)); + const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)); + const __m256d tmp_qloop_33 = _mm256_add_pd(tmp_qloop_31,tmp_qloop_32); + const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)); + const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)); + const __m256d tmp_qloop_36 = _mm256_add_pd(tmp_qloop_34,tmp_qloop_35); + const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)); + const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)); + const __m256d tmp_qloop_39 = _mm256_add_pd(tmp_qloop_37,tmp_qloop_38); + const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)); + const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)); + const __m256d tmp_qloop_42 = _mm256_add_pd(tmp_qloop_40,tmp_qloop_41); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)); + const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)); + const __m256d tmp_qloop_45 = _mm256_add_pd(tmp_qloop_43,tmp_qloop_44); + const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)); + const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)); + const __m256d tmp_qloop_48 = _mm256_add_pd(tmp_qloop_46,tmp_qloop_47); + const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)); + const __m256d tmp_qloop_51 = _mm256_add_pd(tmp_qloop_49,tmp_qloop_50); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)); + const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)); + const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_53); + const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)); + const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)); + const __m256d tmp_qloop_57 = _mm256_add_pd(tmp_qloop_55,tmp_qloop_56); + const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))); + const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))); + const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))); + const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))); + const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))); + const __m256d tmp_qloop_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))); + const __m256d tmp_qloop_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))); + const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))); + const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))); + const __m256d tmp_qloop_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_7))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_7))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_7))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_7))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_7))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_7))); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_7))); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_7))); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_7))); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_70))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_39))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_48))); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_57))); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_61))); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_66))); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_70))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_30))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_39))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_48))); + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_57))); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_61))); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66))); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_70))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_39))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_48))); + const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_57))); + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_61))); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_66))); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_70))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_48))); + const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_57))); + const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61))); + const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_66))); + const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_70))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_57))); + const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_61))); + const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_66))); + const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_70))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_61))); + const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_66))); + const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_70))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_66))); + const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_70))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_64,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_65,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_70))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); 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); @@ -1738,230 +1738,230 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_BLUE_UP*tmp_q_4 + jac_affine_inv_1_0_BLUE_UP*tmp_q_4 + jac_affine_inv_2_0_BLUE_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_BLUE_UP*tmp_q_4 + jac_affine_inv_1_1_BLUE_UP*tmp_q_4 + jac_affine_inv_2_1_BLUE_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_BLUE_UP*tmp_q_4 + jac_affine_inv_1_2_BLUE_UP*tmp_q_4 + jac_affine_inv_2_2_BLUE_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_BLUE_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_BLUE_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_BLUE_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_BLUE_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_BLUE_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_BLUE_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_BLUE_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_BLUE_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_BLUE_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_BLUE_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_BLUE_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_BLUE_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_BLUE_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_BLUE_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_BLUE_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_BLUE_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_BLUE_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_BLUE_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_BLUE_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_BLUE_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_BLUE_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_BLUE_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_BLUE_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_BLUE_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_BLUE_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_BLUE_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_BLUE_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_BLUE_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_BLUE_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_BLUE_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_BLUE_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_BLUE_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_BLUE_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_q_71 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_q_71 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_q_72 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_q_72 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_q_73 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_q_73 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_BLUE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_BLUE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_BLUE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_BLUE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_BLUE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_BLUE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_BLUE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_BLUE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_BLUE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_BLUE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_BLUE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_BLUE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -2018,16 +2018,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -2041,54 +2041,54 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -2173,153 +2173,153 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))); - const __m256d tmp_q_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))); - const __m256d tmp_q_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))); - const __m256d tmp_q_8 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_10 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_11 = _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_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_13 = _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_q_14 = _mm256_mul_pd(tmp_q_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_15 = _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_q_16 = _mm256_mul_pd(tmp_q_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_17 = _mm256_add_pd(tmp_q_8,tmp_q_9); - const __m256d tmp_q_18 = _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_q_12)),_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_q_14))),_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_q_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_10),tmp_q_12),tmp_q_14),tmp_q_16),tmp_q_17))),_mm256_mul_pd(k_dof_4,tmp_q_10)),_mm256_mul_pd(k_dof_5,tmp_q_9)),_mm256_mul_pd(k_dof_6,tmp_q_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN)); - const __m256d tmp_q_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)); - const __m256d tmp_q_22 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_2); - const __m256d tmp_q_24 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)); - const __m256d tmp_q_25 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)); - const __m256d tmp_q_26 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_28 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)); - const __m256d tmp_q_31 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)); - const __m256d tmp_q_32 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)); - const __m256d tmp_q_33 = _mm256_add_pd(tmp_q_31,tmp_q_32); - const __m256d tmp_q_34 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)); - const __m256d tmp_q_35 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)); - const __m256d tmp_q_36 = _mm256_add_pd(tmp_q_34,tmp_q_35); - const __m256d tmp_q_37 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)); - const __m256d tmp_q_38 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)); - const __m256d tmp_q_39 = _mm256_add_pd(tmp_q_37,tmp_q_38); - const __m256d tmp_q_40 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)); - const __m256d tmp_q_41 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)); - const __m256d tmp_q_42 = _mm256_add_pd(tmp_q_40,tmp_q_41); - const __m256d tmp_q_43 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)); - const __m256d tmp_q_44 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)); - const __m256d tmp_q_45 = _mm256_add_pd(tmp_q_43,tmp_q_44); - const __m256d tmp_q_46 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)); - const __m256d tmp_q_47 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)); - const __m256d tmp_q_48 = _mm256_add_pd(tmp_q_46,tmp_q_47); - const __m256d tmp_q_49 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)); - const __m256d tmp_q_50 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)); - const __m256d tmp_q_51 = _mm256_add_pd(tmp_q_49,tmp_q_50); - const __m256d tmp_q_52 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)); - const __m256d tmp_q_53 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)); - const __m256d tmp_q_54 = _mm256_add_pd(tmp_q_52,tmp_q_53); - const __m256d tmp_q_55 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)); - const __m256d tmp_q_56 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)); - const __m256d tmp_q_57 = _mm256_add_pd(tmp_q_55,tmp_q_56); - const __m256d tmp_q_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))); - const __m256d tmp_q_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))); - const __m256d tmp_q_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))); - const __m256d tmp_q_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))); - const __m256d tmp_q_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))); - const __m256d tmp_q_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))); - const __m256d tmp_q_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d tmp_q_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))); - const __m256d tmp_q_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))); - const __m256d tmp_q_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))); - const __m256d tmp_q_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_5),_mm256_mul_pd(tmp_q_6,tmp_q_6)),_mm256_mul_pd(tmp_q_7,tmp_q_7))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_5),_mm256_mul_pd(tmp_q_21,tmp_q_6)),_mm256_mul_pd(tmp_q_22,tmp_q_7))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_5),_mm256_mul_pd(tmp_q_25,tmp_q_6)),_mm256_mul_pd(tmp_q_26,tmp_q_7))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_5),_mm256_mul_pd(tmp_q_29,tmp_q_6)),_mm256_mul_pd(tmp_q_30,tmp_q_7))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_5),_mm256_mul_pd(tmp_q_36,tmp_q_6)),_mm256_mul_pd(tmp_q_39,tmp_q_7))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_5),_mm256_mul_pd(tmp_q_45,tmp_q_6)),_mm256_mul_pd(tmp_q_48,tmp_q_7))); - const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_51),_mm256_mul_pd(tmp_q_54,tmp_q_6)),_mm256_mul_pd(tmp_q_57,tmp_q_7))); - const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_59),_mm256_mul_pd(tmp_q_6,tmp_q_60)),_mm256_mul_pd(tmp_q_61,tmp_q_7))); - const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_64),_mm256_mul_pd(tmp_q_6,tmp_q_65)),_mm256_mul_pd(tmp_q_66,tmp_q_7))); - const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_68),_mm256_mul_pd(tmp_q_6,tmp_q_69)),_mm256_mul_pd(tmp_q_7,tmp_q_70))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_24),_mm256_mul_pd(tmp_q_21,tmp_q_25)),_mm256_mul_pd(tmp_q_22,tmp_q_26))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_28),_mm256_mul_pd(tmp_q_21,tmp_q_29)),_mm256_mul_pd(tmp_q_22,tmp_q_30))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_33),_mm256_mul_pd(tmp_q_21,tmp_q_36)),_mm256_mul_pd(tmp_q_22,tmp_q_39))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_42),_mm256_mul_pd(tmp_q_21,tmp_q_45)),_mm256_mul_pd(tmp_q_22,tmp_q_48))); - const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_51),_mm256_mul_pd(tmp_q_21,tmp_q_54)),_mm256_mul_pd(tmp_q_22,tmp_q_57))); - const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_59),_mm256_mul_pd(tmp_q_21,tmp_q_60)),_mm256_mul_pd(tmp_q_22,tmp_q_61))); - const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_64),_mm256_mul_pd(tmp_q_21,tmp_q_65)),_mm256_mul_pd(tmp_q_22,tmp_q_66))); - const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_68),_mm256_mul_pd(tmp_q_21,tmp_q_69)),_mm256_mul_pd(tmp_q_22,tmp_q_70))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_28),_mm256_mul_pd(tmp_q_25,tmp_q_29)),_mm256_mul_pd(tmp_q_26,tmp_q_30))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_33),_mm256_mul_pd(tmp_q_25,tmp_q_36)),_mm256_mul_pd(tmp_q_26,tmp_q_39))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_42),_mm256_mul_pd(tmp_q_25,tmp_q_45)),_mm256_mul_pd(tmp_q_26,tmp_q_48))); - const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_51),_mm256_mul_pd(tmp_q_25,tmp_q_54)),_mm256_mul_pd(tmp_q_26,tmp_q_57))); - const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_59),_mm256_mul_pd(tmp_q_25,tmp_q_60)),_mm256_mul_pd(tmp_q_26,tmp_q_61))); - const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_64),_mm256_mul_pd(tmp_q_25,tmp_q_65)),_mm256_mul_pd(tmp_q_26,tmp_q_66))); - const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_68),_mm256_mul_pd(tmp_q_25,tmp_q_69)),_mm256_mul_pd(tmp_q_26,tmp_q_70))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_33),_mm256_mul_pd(tmp_q_29,tmp_q_36)),_mm256_mul_pd(tmp_q_30,tmp_q_39))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_42),_mm256_mul_pd(tmp_q_29,tmp_q_45)),_mm256_mul_pd(tmp_q_30,tmp_q_48))); - const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_51),_mm256_mul_pd(tmp_q_29,tmp_q_54)),_mm256_mul_pd(tmp_q_30,tmp_q_57))); - const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_59),_mm256_mul_pd(tmp_q_29,tmp_q_60)),_mm256_mul_pd(tmp_q_30,tmp_q_61))); - const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_64),_mm256_mul_pd(tmp_q_29,tmp_q_65)),_mm256_mul_pd(tmp_q_30,tmp_q_66))); - const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_68),_mm256_mul_pd(tmp_q_29,tmp_q_69)),_mm256_mul_pd(tmp_q_30,tmp_q_70))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_42),_mm256_mul_pd(tmp_q_36,tmp_q_45)),_mm256_mul_pd(tmp_q_39,tmp_q_48))); - const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_51),_mm256_mul_pd(tmp_q_36,tmp_q_54)),_mm256_mul_pd(tmp_q_39,tmp_q_57))); - const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_59),_mm256_mul_pd(tmp_q_36,tmp_q_60)),_mm256_mul_pd(tmp_q_39,tmp_q_61))); - const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_64),_mm256_mul_pd(tmp_q_36,tmp_q_65)),_mm256_mul_pd(tmp_q_39,tmp_q_66))); - const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_68),_mm256_mul_pd(tmp_q_36,tmp_q_69)),_mm256_mul_pd(tmp_q_39,tmp_q_70))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81)),_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83)),_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85)),_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_51),_mm256_mul_pd(tmp_q_45,tmp_q_54)),_mm256_mul_pd(tmp_q_48,tmp_q_57))); - const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_59),_mm256_mul_pd(tmp_q_45,tmp_q_60)),_mm256_mul_pd(tmp_q_48,tmp_q_61))); - const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_64),_mm256_mul_pd(tmp_q_45,tmp_q_65)),_mm256_mul_pd(tmp_q_48,tmp_q_66))); - const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_68),_mm256_mul_pd(tmp_q_45,tmp_q_69)),_mm256_mul_pd(tmp_q_48,tmp_q_70))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87)),_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89)),_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91)),_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_59),_mm256_mul_pd(tmp_q_54,tmp_q_60)),_mm256_mul_pd(tmp_q_57,tmp_q_61))); - const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_64),_mm256_mul_pd(tmp_q_54,tmp_q_65)),_mm256_mul_pd(tmp_q_57,tmp_q_66))); - const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_68),_mm256_mul_pd(tmp_q_54,tmp_q_69)),_mm256_mul_pd(tmp_q_57,tmp_q_70))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_64),_mm256_mul_pd(tmp_q_60,tmp_q_65)),_mm256_mul_pd(tmp_q_61,tmp_q_66))); - const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_68),_mm256_mul_pd(tmp_q_60,tmp_q_69)),_mm256_mul_pd(tmp_q_61,tmp_q_70))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_64,tmp_q_68),_mm256_mul_pd(tmp_q_65,tmp_q_69)),_mm256_mul_pd(tmp_q_66,tmp_q_70))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))); + const __m256d tmp_qloop_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))); + const __m256d tmp_qloop_8 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_10 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_13 = _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_14 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_15 = _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_16 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_17 = _mm256_add_pd(tmp_qloop_8,tmp_qloop_9); + const __m256d tmp_qloop_18 = _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_12)),_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_14))),_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_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_12),tmp_qloop_14),tmp_qloop_16),tmp_qloop_17))),_mm256_mul_pd(k_dof_4,tmp_qloop_10)),_mm256_mul_pd(k_dof_5,tmp_qloop_9)),_mm256_mul_pd(k_dof_6,tmp_qloop_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN)); + const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)); + const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2); + const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)); + const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)); + const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)); + const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)); + const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)); + const __m256d tmp_qloop_33 = _mm256_add_pd(tmp_qloop_31,tmp_qloop_32); + const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)); + const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)); + const __m256d tmp_qloop_36 = _mm256_add_pd(tmp_qloop_34,tmp_qloop_35); + const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)); + const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)); + const __m256d tmp_qloop_39 = _mm256_add_pd(tmp_qloop_37,tmp_qloop_38); + const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)); + const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)); + const __m256d tmp_qloop_42 = _mm256_add_pd(tmp_qloop_40,tmp_qloop_41); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)); + const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)); + const __m256d tmp_qloop_45 = _mm256_add_pd(tmp_qloop_43,tmp_qloop_44); + const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)); + const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)); + const __m256d tmp_qloop_48 = _mm256_add_pd(tmp_qloop_46,tmp_qloop_47); + const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)); + const __m256d tmp_qloop_51 = _mm256_add_pd(tmp_qloop_49,tmp_qloop_50); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)); + const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)); + const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_53); + const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)); + const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)); + const __m256d tmp_qloop_57 = _mm256_add_pd(tmp_qloop_55,tmp_qloop_56); + const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))); + const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))); + const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))); + const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))); + const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))); + const __m256d tmp_qloop_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))); + const __m256d tmp_qloop_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))); + const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))); + const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))); + const __m256d tmp_qloop_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_7))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_7))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_7))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_7))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_7))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_7))); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_7))); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_7))); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_7))); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_70))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_39))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_48))); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_57))); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_61))); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_66))); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_70))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_30))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_39))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_48))); + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_57))); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_61))); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66))); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_70))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_39))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_48))); + const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_57))); + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_61))); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_66))); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_70))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_48))); + const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_57))); + const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61))); + const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_66))); + const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_70))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_57))); + const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_61))); + const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_66))); + const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_70))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_61))); + const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_66))); + const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_70))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_66))); + const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_70))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_64,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_65,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_70))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); 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); @@ -2399,230 +2399,230 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -2679,16 +2679,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -2702,51 +2702,51 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -2831,153 +2831,153 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))); - const __m256d tmp_q_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))); - const __m256d tmp_q_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))); - const __m256d tmp_q_8 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_10 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_11 = _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_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_13 = _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_q_14 = _mm256_mul_pd(tmp_q_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_15 = _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_q_16 = _mm256_mul_pd(tmp_q_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_17 = _mm256_add_pd(tmp_q_8,tmp_q_9); - const __m256d tmp_q_18 = _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_q_12)),_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_q_14))),_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_q_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_10),tmp_q_12),tmp_q_14),tmp_q_16),tmp_q_17))),_mm256_mul_pd(k_dof_4,tmp_q_10)),_mm256_mul_pd(k_dof_5,tmp_q_9)),_mm256_mul_pd(k_dof_6,tmp_q_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP)); - const __m256d tmp_q_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)); - const __m256d tmp_q_22 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_2); - const __m256d tmp_q_24 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)); - const __m256d tmp_q_25 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)); - const __m256d tmp_q_26 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_28 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)); - const __m256d tmp_q_31 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)); - const __m256d tmp_q_32 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)); - const __m256d tmp_q_33 = _mm256_add_pd(tmp_q_31,tmp_q_32); - const __m256d tmp_q_34 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)); - const __m256d tmp_q_35 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)); - const __m256d tmp_q_36 = _mm256_add_pd(tmp_q_34,tmp_q_35); - const __m256d tmp_q_37 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)); - const __m256d tmp_q_38 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)); - const __m256d tmp_q_39 = _mm256_add_pd(tmp_q_37,tmp_q_38); - const __m256d tmp_q_40 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)); - const __m256d tmp_q_41 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)); - const __m256d tmp_q_42 = _mm256_add_pd(tmp_q_40,tmp_q_41); - const __m256d tmp_q_43 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)); - const __m256d tmp_q_44 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)); - const __m256d tmp_q_45 = _mm256_add_pd(tmp_q_43,tmp_q_44); - const __m256d tmp_q_46 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)); - const __m256d tmp_q_47 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)); - const __m256d tmp_q_48 = _mm256_add_pd(tmp_q_46,tmp_q_47); - const __m256d tmp_q_49 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)); - const __m256d tmp_q_50 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)); - const __m256d tmp_q_51 = _mm256_add_pd(tmp_q_49,tmp_q_50); - const __m256d tmp_q_52 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)); - const __m256d tmp_q_53 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)); - const __m256d tmp_q_54 = _mm256_add_pd(tmp_q_52,tmp_q_53); - const __m256d tmp_q_55 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)); - const __m256d tmp_q_56 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)); - const __m256d tmp_q_57 = _mm256_add_pd(tmp_q_55,tmp_q_56); - const __m256d tmp_q_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))); - const __m256d tmp_q_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))); - const __m256d tmp_q_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))); - const __m256d tmp_q_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))); - const __m256d tmp_q_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))); - const __m256d tmp_q_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))); - const __m256d tmp_q_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d tmp_q_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))); - const __m256d tmp_q_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))); - const __m256d tmp_q_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))); - const __m256d tmp_q_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_5),_mm256_mul_pd(tmp_q_6,tmp_q_6)),_mm256_mul_pd(tmp_q_7,tmp_q_7))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_5),_mm256_mul_pd(tmp_q_21,tmp_q_6)),_mm256_mul_pd(tmp_q_22,tmp_q_7))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_5),_mm256_mul_pd(tmp_q_25,tmp_q_6)),_mm256_mul_pd(tmp_q_26,tmp_q_7))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_5),_mm256_mul_pd(tmp_q_29,tmp_q_6)),_mm256_mul_pd(tmp_q_30,tmp_q_7))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_5),_mm256_mul_pd(tmp_q_36,tmp_q_6)),_mm256_mul_pd(tmp_q_39,tmp_q_7))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_5),_mm256_mul_pd(tmp_q_45,tmp_q_6)),_mm256_mul_pd(tmp_q_48,tmp_q_7))); - const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_51),_mm256_mul_pd(tmp_q_54,tmp_q_6)),_mm256_mul_pd(tmp_q_57,tmp_q_7))); - const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_59),_mm256_mul_pd(tmp_q_6,tmp_q_60)),_mm256_mul_pd(tmp_q_61,tmp_q_7))); - const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_64),_mm256_mul_pd(tmp_q_6,tmp_q_65)),_mm256_mul_pd(tmp_q_66,tmp_q_7))); - const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_68),_mm256_mul_pd(tmp_q_6,tmp_q_69)),_mm256_mul_pd(tmp_q_7,tmp_q_70))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_24),_mm256_mul_pd(tmp_q_21,tmp_q_25)),_mm256_mul_pd(tmp_q_22,tmp_q_26))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_28),_mm256_mul_pd(tmp_q_21,tmp_q_29)),_mm256_mul_pd(tmp_q_22,tmp_q_30))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_33),_mm256_mul_pd(tmp_q_21,tmp_q_36)),_mm256_mul_pd(tmp_q_22,tmp_q_39))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_42),_mm256_mul_pd(tmp_q_21,tmp_q_45)),_mm256_mul_pd(tmp_q_22,tmp_q_48))); - const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_51),_mm256_mul_pd(tmp_q_21,tmp_q_54)),_mm256_mul_pd(tmp_q_22,tmp_q_57))); - const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_59),_mm256_mul_pd(tmp_q_21,tmp_q_60)),_mm256_mul_pd(tmp_q_22,tmp_q_61))); - const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_64),_mm256_mul_pd(tmp_q_21,tmp_q_65)),_mm256_mul_pd(tmp_q_22,tmp_q_66))); - const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_68),_mm256_mul_pd(tmp_q_21,tmp_q_69)),_mm256_mul_pd(tmp_q_22,tmp_q_70))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_28),_mm256_mul_pd(tmp_q_25,tmp_q_29)),_mm256_mul_pd(tmp_q_26,tmp_q_30))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_33),_mm256_mul_pd(tmp_q_25,tmp_q_36)),_mm256_mul_pd(tmp_q_26,tmp_q_39))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_42),_mm256_mul_pd(tmp_q_25,tmp_q_45)),_mm256_mul_pd(tmp_q_26,tmp_q_48))); - const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_51),_mm256_mul_pd(tmp_q_25,tmp_q_54)),_mm256_mul_pd(tmp_q_26,tmp_q_57))); - const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_59),_mm256_mul_pd(tmp_q_25,tmp_q_60)),_mm256_mul_pd(tmp_q_26,tmp_q_61))); - const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_64),_mm256_mul_pd(tmp_q_25,tmp_q_65)),_mm256_mul_pd(tmp_q_26,tmp_q_66))); - const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_68),_mm256_mul_pd(tmp_q_25,tmp_q_69)),_mm256_mul_pd(tmp_q_26,tmp_q_70))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_33),_mm256_mul_pd(tmp_q_29,tmp_q_36)),_mm256_mul_pd(tmp_q_30,tmp_q_39))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_42),_mm256_mul_pd(tmp_q_29,tmp_q_45)),_mm256_mul_pd(tmp_q_30,tmp_q_48))); - const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_51),_mm256_mul_pd(tmp_q_29,tmp_q_54)),_mm256_mul_pd(tmp_q_30,tmp_q_57))); - const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_59),_mm256_mul_pd(tmp_q_29,tmp_q_60)),_mm256_mul_pd(tmp_q_30,tmp_q_61))); - const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_64),_mm256_mul_pd(tmp_q_29,tmp_q_65)),_mm256_mul_pd(tmp_q_30,tmp_q_66))); - const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_68),_mm256_mul_pd(tmp_q_29,tmp_q_69)),_mm256_mul_pd(tmp_q_30,tmp_q_70))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_42),_mm256_mul_pd(tmp_q_36,tmp_q_45)),_mm256_mul_pd(tmp_q_39,tmp_q_48))); - const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_51),_mm256_mul_pd(tmp_q_36,tmp_q_54)),_mm256_mul_pd(tmp_q_39,tmp_q_57))); - const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_59),_mm256_mul_pd(tmp_q_36,tmp_q_60)),_mm256_mul_pd(tmp_q_39,tmp_q_61))); - const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_64),_mm256_mul_pd(tmp_q_36,tmp_q_65)),_mm256_mul_pd(tmp_q_39,tmp_q_66))); - const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_68),_mm256_mul_pd(tmp_q_36,tmp_q_69)),_mm256_mul_pd(tmp_q_39,tmp_q_70))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81)),_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83)),_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85)),_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_51),_mm256_mul_pd(tmp_q_45,tmp_q_54)),_mm256_mul_pd(tmp_q_48,tmp_q_57))); - const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_59),_mm256_mul_pd(tmp_q_45,tmp_q_60)),_mm256_mul_pd(tmp_q_48,tmp_q_61))); - const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_64),_mm256_mul_pd(tmp_q_45,tmp_q_65)),_mm256_mul_pd(tmp_q_48,tmp_q_66))); - const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_68),_mm256_mul_pd(tmp_q_45,tmp_q_69)),_mm256_mul_pd(tmp_q_48,tmp_q_70))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87)),_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89)),_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91)),_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_59),_mm256_mul_pd(tmp_q_54,tmp_q_60)),_mm256_mul_pd(tmp_q_57,tmp_q_61))); - const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_64),_mm256_mul_pd(tmp_q_54,tmp_q_65)),_mm256_mul_pd(tmp_q_57,tmp_q_66))); - const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_68),_mm256_mul_pd(tmp_q_54,tmp_q_69)),_mm256_mul_pd(tmp_q_57,tmp_q_70))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_64),_mm256_mul_pd(tmp_q_60,tmp_q_65)),_mm256_mul_pd(tmp_q_61,tmp_q_66))); - const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_68),_mm256_mul_pd(tmp_q_60,tmp_q_69)),_mm256_mul_pd(tmp_q_61,tmp_q_70))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_64,tmp_q_68),_mm256_mul_pd(tmp_q_65,tmp_q_69)),_mm256_mul_pd(tmp_q_66,tmp_q_70))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))); + const __m256d tmp_qloop_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))); + const __m256d tmp_qloop_8 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_10 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_13 = _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_14 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_15 = _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_16 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_17 = _mm256_add_pd(tmp_qloop_8,tmp_qloop_9); + const __m256d tmp_qloop_18 = _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_12)),_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_14))),_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_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_12),tmp_qloop_14),tmp_qloop_16),tmp_qloop_17))),_mm256_mul_pd(k_dof_4,tmp_qloop_10)),_mm256_mul_pd(k_dof_5,tmp_qloop_9)),_mm256_mul_pd(k_dof_6,tmp_qloop_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP)); + const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)); + const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2); + const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)); + const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)); + const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)); + const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)); + const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)); + const __m256d tmp_qloop_33 = _mm256_add_pd(tmp_qloop_31,tmp_qloop_32); + const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)); + const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)); + const __m256d tmp_qloop_36 = _mm256_add_pd(tmp_qloop_34,tmp_qloop_35); + const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)); + const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)); + const __m256d tmp_qloop_39 = _mm256_add_pd(tmp_qloop_37,tmp_qloop_38); + const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)); + const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)); + const __m256d tmp_qloop_42 = _mm256_add_pd(tmp_qloop_40,tmp_qloop_41); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)); + const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)); + const __m256d tmp_qloop_45 = _mm256_add_pd(tmp_qloop_43,tmp_qloop_44); + const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)); + const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)); + const __m256d tmp_qloop_48 = _mm256_add_pd(tmp_qloop_46,tmp_qloop_47); + const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)); + const __m256d tmp_qloop_51 = _mm256_add_pd(tmp_qloop_49,tmp_qloop_50); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)); + const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)); + const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_53); + const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)); + const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)); + const __m256d tmp_qloop_57 = _mm256_add_pd(tmp_qloop_55,tmp_qloop_56); + const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))); + const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))); + const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))); + const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))); + const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))); + const __m256d tmp_qloop_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))); + const __m256d tmp_qloop_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))); + const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))); + const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))); + const __m256d tmp_qloop_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_7))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_7))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_7))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_7))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_7))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_7))); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_7))); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_7))); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_7))); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_70))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_39))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_48))); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_57))); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_61))); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_66))); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_70))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_30))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_39))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_48))); + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_57))); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_61))); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66))); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_70))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_39))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_48))); + const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_57))); + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_61))); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_66))); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_70))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_48))); + const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_57))); + const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61))); + const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_66))); + const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_70))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_57))); + const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_61))); + const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_66))); + const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_70))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_61))); + const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_66))); + const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_70))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_66))); + const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_70))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_64,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_65,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_70))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); 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); @@ -3057,230 +3057,230 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_GREEN_UP*tmp_q_4 + jac_affine_inv_1_0_GREEN_UP*tmp_q_4 + jac_affine_inv_2_0_GREEN_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_GREEN_UP*tmp_q_4 + jac_affine_inv_1_1_GREEN_UP*tmp_q_4 + jac_affine_inv_2_1_GREEN_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_GREEN_UP*tmp_q_4 + jac_affine_inv_1_2_GREEN_UP*tmp_q_4 + jac_affine_inv_2_2_GREEN_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_GREEN_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_GREEN_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_GREEN_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GREEN_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_GREEN_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_GREEN_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_GREEN_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_GREEN_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_GREEN_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_GREEN_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_GREEN_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_GREEN_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_GREEN_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_GREEN_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_GREEN_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_GREEN_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_GREEN_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_GREEN_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_GREEN_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_GREEN_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_GREEN_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_GREEN_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_GREEN_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_GREEN_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_GREEN_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_GREEN_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_GREEN_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_GREEN_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_GREEN_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_GREEN_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_GREEN_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_GREEN_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_GREEN_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_GREEN_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_GREEN_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_GREEN_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_q_71 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_q_71 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_q_72 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_q_72 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_q_73 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_q_73 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_GREEN_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_GREEN_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_GREEN_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_GREEN_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_GREEN_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_GREEN_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_GREEN_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_GREEN_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_GREEN_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_GREEN_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_GREEN_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_GREEN_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -3337,16 +3337,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -3360,54 +3360,54 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -3492,153 +3492,153 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))); - const __m256d tmp_q_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))); - const __m256d tmp_q_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))); - const __m256d tmp_q_8 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_10 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_11 = _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_q_12 = _mm256_mul_pd(tmp_q_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_13 = _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_q_14 = _mm256_mul_pd(tmp_q_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_15 = _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_q_16 = _mm256_mul_pd(tmp_q_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_17 = _mm256_add_pd(tmp_q_8,tmp_q_9); - const __m256d tmp_q_18 = _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_q_12)),_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_q_14))),_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_q_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_10),tmp_q_12),tmp_q_14),tmp_q_16),tmp_q_17))),_mm256_mul_pd(k_dof_4,tmp_q_10)),_mm256_mul_pd(k_dof_5,tmp_q_9)),_mm256_mul_pd(k_dof_6,tmp_q_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN)); - const __m256d tmp_q_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1); - const __m256d tmp_q_20 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)); - const __m256d tmp_q_21 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)); - const __m256d tmp_q_22 = _mm256_mul_pd(tmp_q_19,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)); - const __m256d tmp_q_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_2); - const __m256d tmp_q_24 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)); - const __m256d tmp_q_25 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)); - const __m256d tmp_q_26 = _mm256_mul_pd(tmp_q_23,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)); - const __m256d tmp_q_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0); - const __m256d tmp_q_28 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)); - const __m256d tmp_q_29 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)); - const __m256d tmp_q_30 = _mm256_mul_pd(tmp_q_27,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)); - const __m256d tmp_q_31 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)); - const __m256d tmp_q_32 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)); - const __m256d tmp_q_33 = _mm256_add_pd(tmp_q_31,tmp_q_32); - const __m256d tmp_q_34 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)); - const __m256d tmp_q_35 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)); - const __m256d tmp_q_36 = _mm256_add_pd(tmp_q_34,tmp_q_35); - const __m256d tmp_q_37 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)); - const __m256d tmp_q_38 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)); - const __m256d tmp_q_39 = _mm256_add_pd(tmp_q_37,tmp_q_38); - const __m256d tmp_q_40 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)); - const __m256d tmp_q_41 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)); - const __m256d tmp_q_42 = _mm256_add_pd(tmp_q_40,tmp_q_41); - const __m256d tmp_q_43 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)); - const __m256d tmp_q_44 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)); - const __m256d tmp_q_45 = _mm256_add_pd(tmp_q_43,tmp_q_44); - const __m256d tmp_q_46 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)); - const __m256d tmp_q_47 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)); - const __m256d tmp_q_48 = _mm256_add_pd(tmp_q_46,tmp_q_47); - const __m256d tmp_q_49 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)); - const __m256d tmp_q_50 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)); - const __m256d tmp_q_51 = _mm256_add_pd(tmp_q_49,tmp_q_50); - const __m256d tmp_q_52 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)); - const __m256d tmp_q_53 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)); - const __m256d tmp_q_54 = _mm256_add_pd(tmp_q_52,tmp_q_53); - const __m256d tmp_q_55 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)); - const __m256d tmp_q_56 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)); - const __m256d tmp_q_57 = _mm256_add_pd(tmp_q_55,tmp_q_56); - const __m256d tmp_q_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))); - const __m256d tmp_q_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))); - const __m256d tmp_q_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_58,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))); - const __m256d tmp_q_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))); - const __m256d tmp_q_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))); - const __m256d tmp_q_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_63,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))); - const __m256d tmp_q_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d tmp_q_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))); - const __m256d tmp_q_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))); - const __m256d tmp_q_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_67,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))); - const __m256d tmp_q_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_5),_mm256_mul_pd(tmp_q_6,tmp_q_6)),_mm256_mul_pd(tmp_q_7,tmp_q_7))); - const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_5),_mm256_mul_pd(tmp_q_21,tmp_q_6)),_mm256_mul_pd(tmp_q_22,tmp_q_7))); - const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_5),_mm256_mul_pd(tmp_q_25,tmp_q_6)),_mm256_mul_pd(tmp_q_26,tmp_q_7))); - const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_5),_mm256_mul_pd(tmp_q_29,tmp_q_6)),_mm256_mul_pd(tmp_q_30,tmp_q_7))); - const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_5),_mm256_mul_pd(tmp_q_36,tmp_q_6)),_mm256_mul_pd(tmp_q_39,tmp_q_7))); - const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_5),_mm256_mul_pd(tmp_q_45,tmp_q_6)),_mm256_mul_pd(tmp_q_48,tmp_q_7))); - const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_51),_mm256_mul_pd(tmp_q_54,tmp_q_6)),_mm256_mul_pd(tmp_q_57,tmp_q_7))); - const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_59),_mm256_mul_pd(tmp_q_6,tmp_q_60)),_mm256_mul_pd(tmp_q_61,tmp_q_7))); - const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_64),_mm256_mul_pd(tmp_q_6,tmp_q_65)),_mm256_mul_pd(tmp_q_66,tmp_q_7))); - const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,tmp_q_68),_mm256_mul_pd(tmp_q_6,tmp_q_69)),_mm256_mul_pd(tmp_q_7,tmp_q_70))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_q_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))); - const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_24),_mm256_mul_pd(tmp_q_21,tmp_q_25)),_mm256_mul_pd(tmp_q_22,tmp_q_26))); - const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_28),_mm256_mul_pd(tmp_q_21,tmp_q_29)),_mm256_mul_pd(tmp_q_22,tmp_q_30))); - const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_33),_mm256_mul_pd(tmp_q_21,tmp_q_36)),_mm256_mul_pd(tmp_q_22,tmp_q_39))); - const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_42),_mm256_mul_pd(tmp_q_21,tmp_q_45)),_mm256_mul_pd(tmp_q_22,tmp_q_48))); - const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_51),_mm256_mul_pd(tmp_q_21,tmp_q_54)),_mm256_mul_pd(tmp_q_22,tmp_q_57))); - const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_59),_mm256_mul_pd(tmp_q_21,tmp_q_60)),_mm256_mul_pd(tmp_q_22,tmp_q_61))); - const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_64),_mm256_mul_pd(tmp_q_21,tmp_q_65)),_mm256_mul_pd(tmp_q_22,tmp_q_66))); - const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_20,tmp_q_68),_mm256_mul_pd(tmp_q_21,tmp_q_69)),_mm256_mul_pd(tmp_q_22,tmp_q_70))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_q_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))); - const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_28),_mm256_mul_pd(tmp_q_25,tmp_q_29)),_mm256_mul_pd(tmp_q_26,tmp_q_30))); - const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_33),_mm256_mul_pd(tmp_q_25,tmp_q_36)),_mm256_mul_pd(tmp_q_26,tmp_q_39))); - const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_42),_mm256_mul_pd(tmp_q_25,tmp_q_45)),_mm256_mul_pd(tmp_q_26,tmp_q_48))); - const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_51),_mm256_mul_pd(tmp_q_25,tmp_q_54)),_mm256_mul_pd(tmp_q_26,tmp_q_57))); - const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_59),_mm256_mul_pd(tmp_q_25,tmp_q_60)),_mm256_mul_pd(tmp_q_26,tmp_q_61))); - const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_64),_mm256_mul_pd(tmp_q_25,tmp_q_65)),_mm256_mul_pd(tmp_q_26,tmp_q_66))); - const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_24,tmp_q_68),_mm256_mul_pd(tmp_q_25,tmp_q_69)),_mm256_mul_pd(tmp_q_26,tmp_q_70))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_q_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))); - const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_33),_mm256_mul_pd(tmp_q_29,tmp_q_36)),_mm256_mul_pd(tmp_q_30,tmp_q_39))); - const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_42),_mm256_mul_pd(tmp_q_29,tmp_q_45)),_mm256_mul_pd(tmp_q_30,tmp_q_48))); - const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_51),_mm256_mul_pd(tmp_q_29,tmp_q_54)),_mm256_mul_pd(tmp_q_30,tmp_q_57))); - const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_59),_mm256_mul_pd(tmp_q_29,tmp_q_60)),_mm256_mul_pd(tmp_q_30,tmp_q_61))); - const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_64),_mm256_mul_pd(tmp_q_29,tmp_q_65)),_mm256_mul_pd(tmp_q_30,tmp_q_66))); - const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_28,tmp_q_68),_mm256_mul_pd(tmp_q_29,tmp_q_69)),_mm256_mul_pd(tmp_q_30,tmp_q_70))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_add_pd(_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_add_pd(_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_add_pd(_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_42),_mm256_mul_pd(tmp_q_36,tmp_q_45)),_mm256_mul_pd(tmp_q_39,tmp_q_48))); - const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_51),_mm256_mul_pd(tmp_q_36,tmp_q_54)),_mm256_mul_pd(tmp_q_39,tmp_q_57))); - const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_59),_mm256_mul_pd(tmp_q_36,tmp_q_60)),_mm256_mul_pd(tmp_q_39,tmp_q_61))); - const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_64),_mm256_mul_pd(tmp_q_36,tmp_q_65)),_mm256_mul_pd(tmp_q_39,tmp_q_66))); - const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_33,tmp_q_68),_mm256_mul_pd(tmp_q_36,tmp_q_69)),_mm256_mul_pd(tmp_q_39,tmp_q_70))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81)),_mm256_add_pd(_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83)),_mm256_add_pd(_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85)),_mm256_add_pd(_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_51),_mm256_mul_pd(tmp_q_45,tmp_q_54)),_mm256_mul_pd(tmp_q_48,tmp_q_57))); - const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_59),_mm256_mul_pd(tmp_q_45,tmp_q_60)),_mm256_mul_pd(tmp_q_48,tmp_q_61))); - const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_64),_mm256_mul_pd(tmp_q_45,tmp_q_65)),_mm256_mul_pd(tmp_q_48,tmp_q_66))); - const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_42,tmp_q_68),_mm256_mul_pd(tmp_q_45,tmp_q_69)),_mm256_mul_pd(tmp_q_48,tmp_q_70))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87)),_mm256_add_pd(_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89)),_mm256_add_pd(_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91)),_mm256_add_pd(_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_59),_mm256_mul_pd(tmp_q_54,tmp_q_60)),_mm256_mul_pd(tmp_q_57,tmp_q_61))); - const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_64),_mm256_mul_pd(tmp_q_54,tmp_q_65)),_mm256_mul_pd(tmp_q_57,tmp_q_66))); - const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_51,tmp_q_68),_mm256_mul_pd(tmp_q_54,tmp_q_69)),_mm256_mul_pd(tmp_q_57,tmp_q_70))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_75,tmp_q_75,tmp_q_75,tmp_q_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_81,tmp_q_81,tmp_q_81,tmp_q_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_77,tmp_q_77,tmp_q_77,tmp_q_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_83,tmp_q_83,tmp_q_83,tmp_q_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_79,tmp_q_79,tmp_q_79,tmp_q_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_85,tmp_q_85,tmp_q_85,tmp_q_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_64),_mm256_mul_pd(tmp_q_60,tmp_q_65)),_mm256_mul_pd(tmp_q_61,tmp_q_66))); - const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_59,tmp_q_68),_mm256_mul_pd(tmp_q_60,tmp_q_69)),_mm256_mul_pd(tmp_q_61,tmp_q_70))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_74,tmp_q_74,tmp_q_74,tmp_q_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_87,tmp_q_87,tmp_q_87,tmp_q_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_76,tmp_q_76,tmp_q_76,tmp_q_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_89,tmp_q_89,tmp_q_89,tmp_q_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_78,tmp_q_78,tmp_q_78,tmp_q_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_91,tmp_q_91,tmp_q_91,tmp_q_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_64,tmp_q_68),_mm256_mul_pd(tmp_q_65,tmp_q_69)),_mm256_mul_pd(tmp_q_66,tmp_q_70))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_80,tmp_q_80,tmp_q_80,tmp_q_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_86,tmp_q_86,tmp_q_86,tmp_q_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_82,tmp_q_82,tmp_q_82,tmp_q_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_88,tmp_q_88,tmp_q_88,tmp_q_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_84,tmp_q_84,tmp_q_84,tmp_q_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_90,tmp_q_90,tmp_q_90,tmp_q_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))); + const __m256d tmp_qloop_6 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))); + const __m256d tmp_qloop_7 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))); + const __m256d tmp_qloop_8 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_10 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_11 = _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_12 = _mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_13 = _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_14 = _mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_15 = _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_16 = _mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_17 = _mm256_add_pd(tmp_qloop_8,tmp_qloop_9); + const __m256d tmp_qloop_18 = _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_12)),_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_14))),_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_16))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_9,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_12),tmp_qloop_14),tmp_qloop_16),tmp_qloop_17))),_mm256_mul_pd(k_dof_4,tmp_qloop_10)),_mm256_mul_pd(k_dof_5,tmp_qloop_9)),_mm256_mul_pd(k_dof_6,tmp_qloop_8)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN)); + const __m256d tmp_qloop_19 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1); + const __m256d tmp_qloop_20 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)); + const __m256d tmp_qloop_21 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)); + const __m256d tmp_qloop_22 = _mm256_mul_pd(tmp_qloop_19,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)); + const __m256d tmp_qloop_23 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_2); + const __m256d tmp_qloop_24 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)); + const __m256d tmp_qloop_25 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)); + const __m256d tmp_qloop_26 = _mm256_mul_pd(tmp_qloop_23,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)); + const __m256d tmp_qloop_27 = _mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0); + const __m256d tmp_qloop_28 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)); + const __m256d tmp_qloop_29 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)); + const __m256d tmp_qloop_30 = _mm256_mul_pd(tmp_qloop_27,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)); + const __m256d tmp_qloop_31 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)); + const __m256d tmp_qloop_32 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)); + const __m256d tmp_qloop_33 = _mm256_add_pd(tmp_qloop_31,tmp_qloop_32); + const __m256d tmp_qloop_34 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)); + const __m256d tmp_qloop_35 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)); + const __m256d tmp_qloop_36 = _mm256_add_pd(tmp_qloop_34,tmp_qloop_35); + const __m256d tmp_qloop_37 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)); + const __m256d tmp_qloop_38 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)); + const __m256d tmp_qloop_39 = _mm256_add_pd(tmp_qloop_37,tmp_qloop_38); + const __m256d tmp_qloop_40 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)); + const __m256d tmp_qloop_41 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)); + const __m256d tmp_qloop_42 = _mm256_add_pd(tmp_qloop_40,tmp_qloop_41); + const __m256d tmp_qloop_43 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)); + const __m256d tmp_qloop_44 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)); + const __m256d tmp_qloop_45 = _mm256_add_pd(tmp_qloop_43,tmp_qloop_44); + const __m256d tmp_qloop_46 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)); + const __m256d tmp_qloop_47 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)); + const __m256d tmp_qloop_48 = _mm256_add_pd(tmp_qloop_46,tmp_qloop_47); + const __m256d tmp_qloop_49 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)); + const __m256d tmp_qloop_50 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)); + const __m256d tmp_qloop_51 = _mm256_add_pd(tmp_qloop_49,tmp_qloop_50); + const __m256d tmp_qloop_52 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)); + const __m256d tmp_qloop_53 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)); + const __m256d tmp_qloop_54 = _mm256_add_pd(tmp_qloop_52,tmp_qloop_53); + const __m256d tmp_qloop_55 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)); + const __m256d tmp_qloop_56 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)); + const __m256d tmp_qloop_57 = _mm256_add_pd(tmp_qloop_55,tmp_qloop_56); + const __m256d tmp_qloop_58 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_59 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_32,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_41,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))); + const __m256d tmp_qloop_60 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_35,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_44,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))); + const __m256d tmp_qloop_61 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_47,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))); + const __m256d tmp_qloop_62 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_63 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_64 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_31,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_50,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))); + const __m256d tmp_qloop_65 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_34,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_53,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))); + const __m256d tmp_qloop_66 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_56,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))); + const __m256d tmp_qloop_67 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_62,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d tmp_qloop_68 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_49,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))); + const __m256d tmp_qloop_69 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_43,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_52,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))); + const __m256d tmp_qloop_70 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_46,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_55,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))); + const __m256d tmp_qloop_71 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_72 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_73 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_7))); + const __m256d q_tmp_0_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_7))); + const __m256d q_tmp_0_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_7))); + const __m256d q_tmp_0_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_7))); + const __m256d q_tmp_0_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_7))); + const __m256d q_tmp_0_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_5),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_7))); + const __m256d q_tmp_0_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_6)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_7))); + const __m256d q_tmp_0_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_7))); + const __m256d q_tmp_0_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_7))); + const __m256d q_tmp_0_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_6,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_7,tmp_qloop_70))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_71,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))); + const __m256d q_tmp_1_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_24),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_25)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_26))); + const __m256d q_tmp_1_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_30))); + const __m256d q_tmp_1_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_39))); + const __m256d q_tmp_1_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_48))); + const __m256d q_tmp_1_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_57))); + const __m256d q_tmp_1_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_61))); + const __m256d q_tmp_1_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_66))); + const __m256d q_tmp_1_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_20,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_21,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_22,tmp_qloop_70))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_72,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))); + const __m256d q_tmp_2_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_28),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_29)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_30))); + const __m256d q_tmp_2_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_39))); + const __m256d q_tmp_2_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_48))); + const __m256d q_tmp_2_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_57))); + const __m256d q_tmp_2_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_61))); + const __m256d q_tmp_2_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_66))); + const __m256d q_tmp_2_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_24,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_25,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_26,tmp_qloop_70))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_73,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))); + const __m256d q_tmp_3_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_33),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_36)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_39))); + const __m256d q_tmp_3_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_48))); + const __m256d q_tmp_3_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_57))); + const __m256d q_tmp_3_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_61))); + const __m256d q_tmp_3_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_66))); + const __m256d q_tmp_3_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_28,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_29,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_30,tmp_qloop_70))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_4_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_42),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_45)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_48))); + const __m256d q_tmp_4_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_57))); + const __m256d q_tmp_4_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_61))); + const __m256d q_tmp_4_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_66))); + const __m256d q_tmp_4_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_33,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_36,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_39,tmp_qloop_70))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_51),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_54)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_57))); + const __m256d q_tmp_5_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_61))); + const __m256d q_tmp_5_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_66))); + const __m256d q_tmp_5_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_42,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_45,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_48,tmp_qloop_70))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_59),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_60)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_61))); + const __m256d q_tmp_6_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_66))); + const __m256d q_tmp_6_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_51,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_54,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_57,tmp_qloop_70))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_75,tmp_qloop_75,tmp_qloop_75,tmp_qloop_75)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_81,tmp_qloop_81,tmp_qloop_81,tmp_qloop_81))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_77,tmp_qloop_77,tmp_qloop_77,tmp_qloop_77)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_83,tmp_qloop_83,tmp_qloop_83,tmp_qloop_83))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_79,tmp_qloop_79,tmp_qloop_79,tmp_qloop_79)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_85,tmp_qloop_85,tmp_qloop_85,tmp_qloop_85))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_58,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_64),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_65)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_66))); + const __m256d q_tmp_7_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_59,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_60,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_61,tmp_qloop_70))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_74,tmp_qloop_74,tmp_qloop_74,tmp_qloop_74)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_87,tmp_qloop_87,tmp_qloop_87,tmp_qloop_87))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_76,tmp_qloop_76,tmp_qloop_76,tmp_qloop_76)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_89,tmp_qloop_89,tmp_qloop_89,tmp_qloop_89))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_78,tmp_qloop_78,tmp_qloop_78,tmp_qloop_78)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_91,tmp_qloop_91,tmp_qloop_91,tmp_qloop_91))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_63,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_64,tmp_qloop_68),_mm256_mul_pd(tmp_qloop_65,tmp_qloop_69)),_mm256_mul_pd(tmp_qloop_66,tmp_qloop_70))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_18,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_80,tmp_qloop_80,tmp_qloop_80,tmp_qloop_80)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_86,tmp_qloop_86,tmp_qloop_86,tmp_qloop_86))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_82,tmp_qloop_82,tmp_qloop_82,tmp_qloop_82)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_88,tmp_qloop_88,tmp_qloop_88,tmp_qloop_88))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_84,tmp_qloop_84,tmp_qloop_84,tmp_qloop_84)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_90,tmp_qloop_90,tmp_qloop_90,tmp_qloop_90))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_67,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); 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); @@ -3718,230 +3718,230 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re } 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -3998,16 +3998,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; diff --git a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp index 777973979c26c1bd290b01f72c5862d7aadf170f..a9f6d6f93d2517a22dbb37237cb36c8c13ec70ad 100644 --- a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp +++ b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp @@ -56,33 +56,33 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_t * RESTRICT _data_invDiag_Edge, real_t * RESTRICT _data_invDiag_Vertex, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, 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 +void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( walberla::float64 * RESTRICT _data_invDiag_Edge, walberla::float64 * RESTRICT _data_invDiag_Vertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; + const walberla::float64 _data_q_p_0 [] = {0.16666666666666666, 0.66666666666666663, 0.16666666666666666}; - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; + const walberla::float64 _data_q_p_1 [] = {0.66666666666666663, 0.16666666666666666, 0.16666666666666666}; - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) @@ -103,29 +103,29 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 3; q += 1) { - const __m256d tmp_q_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_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_1); - const __m256d tmp_q_3 = _mm256_mul_pd(tmp_q_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_q_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_q_5 = _mm256_mul_pd(tmp_q_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_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_q_7 = _mm256_mul_pd(tmp_q_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_8 = _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_q_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_q_7))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_1))),_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_q_3),tmp_q_5),tmp_q_7))),_mm256_mul_pd(k_dof_3,tmp_q_3)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)); - const __m256d tmp_q_9 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0)); - const __m256d tmp_q_10 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1)); - const __m256d tmp_q_11 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)); - const __m256d tmp_q_12 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)); - const __m256d tmp_q_13 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)); - const __m256d tmp_q_14 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)); - const __m256d tmp_q_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_q_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(tmp_q_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))),_mm256_mul_pd(tmp_q_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_mul_pd(tmp_q_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(tmp_q_11,tmp_q_12),_mm256_add_pd(tmp_q_11,tmp_q_12)),_mm256_mul_pd(_mm256_add_pd(tmp_q_13,tmp_q_14),_mm256_add_pd(tmp_q_13,tmp_q_14)))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)))))); + 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(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_1); + const __m256d tmp_qloop_3 = _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_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_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_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_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_1))),_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_3),tmp_qloop_5),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,tmp_qloop_3)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY,abs_det_jac_affine_GRAY)); + const __m256d tmp_qloop_9 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0)); + const __m256d tmp_qloop_10 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1)); + const __m256d tmp_qloop_11 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)); + const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)); + const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY),_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))),_mm256_mul_pd(tmp_qloop_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY),_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY),_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_mul_pd(tmp_qloop_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY),_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(tmp_qloop_11,tmp_qloop_12),_mm256_add_pd(tmp_qloop_11,tmp_qloop_12)),_mm256_mul_pd(_mm256_add_pd(tmp_qloop_13,tmp_qloop_14),_mm256_add_pd(tmp_qloop_13,tmp_qloop_14)))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY,jac_affine_inv_1_0_GRAY)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY,jac_affine_inv_1_1_GRAY)))))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY,jac_affine_inv_0_0_GRAY)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY,jac_affine_inv_0_1_GRAY)))))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -148,43 +148,43 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_4 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_5 = tmp_q_4*2.0; - const real_t tmp_q_6 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_q_3 + tmp_q_5 + tmp_q_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_5 - _data_q_p_0[q]) + k_dof_2*(tmp_q_7 - _data_q_p_1[q]) + k_dof_3*tmp_q_3 + k_dof_4*(tmp_q_1 - tmp_q_3 + tmp_q_6*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_3 + tmp_q_4*-4.0))*_data_q_w[q]; - const real_t tmp_q_9 = ((tmp_q_0 - 1.0)*(tmp_q_0 - 1.0)); - const real_t tmp_q_10 = ((tmp_q_1 - 1.0)*(tmp_q_1 - 1.0)); - const real_t tmp_q_11 = jac_affine_inv_1_0_GRAY*tmp_q_0; - const real_t tmp_q_12 = jac_affine_inv_0_0_GRAY*tmp_q_1; - const real_t tmp_q_13 = jac_affine_inv_1_1_GRAY*tmp_q_0; - const real_t tmp_q_14 = jac_affine_inv_0_1_GRAY*tmp_q_1; - const real_t tmp_q_15 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_16 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t q_tmp_0_0 = tmp_q_8*(((jac_affine_inv_0_0_GRAY*tmp_q_2 + jac_affine_inv_1_0_GRAY*tmp_q_2)*(jac_affine_inv_0_0_GRAY*tmp_q_2 + jac_affine_inv_1_0_GRAY*tmp_q_2)) + ((jac_affine_inv_0_1_GRAY*tmp_q_2 + jac_affine_inv_1_1_GRAY*tmp_q_2)*(jac_affine_inv_0_1_GRAY*tmp_q_2 + jac_affine_inv_1_1_GRAY*tmp_q_2))); - const real_t q_tmp_1_1 = tmp_q_8*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_q_9 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_q_9); - const real_t q_tmp_2_2 = tmp_q_8*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_q_10 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_q_10); - const real_t q_tmp_3_3 = tmp_q_8*(((tmp_q_11 + tmp_q_12)*(tmp_q_11 + tmp_q_12)) + ((tmp_q_13 + tmp_q_14)*(tmp_q_13 + tmp_q_14))); - const real_t q_tmp_4_4 = tmp_q_8*(((jac_affine_inv_1_0_GRAY*tmp_q_15 - tmp_q_12)*(jac_affine_inv_1_0_GRAY*tmp_q_15 - tmp_q_12)) + ((jac_affine_inv_1_1_GRAY*tmp_q_15 - tmp_q_14)*(jac_affine_inv_1_1_GRAY*tmp_q_15 - tmp_q_14))); - const real_t q_tmp_5_5 = tmp_q_8*(((jac_affine_inv_0_0_GRAY*tmp_q_16 - tmp_q_11)*(jac_affine_inv_0_0_GRAY*tmp_q_16 - tmp_q_11)) + ((jac_affine_inv_0_1_GRAY*tmp_q_16 - tmp_q_13)*(jac_affine_inv_0_1_GRAY*tmp_q_16 - tmp_q_13))); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_5 = tmp_qloop_4*2.0; + const walberla::float64 tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[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_3 + k_dof_4*(tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_3 + tmp_qloop_4*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_9 = ((tmp_qloop_0 - 1.0)*(tmp_qloop_0 - 1.0)); + const walberla::float64 tmp_qloop_10 = ((tmp_qloop_1 - 1.0)*(tmp_qloop_1 - 1.0)); + const walberla::float64 tmp_qloop_11 = jac_affine_inv_1_0_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_1_1_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_14 = jac_affine_inv_0_1_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_15 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_16 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 q_tmp_0_0 = tmp_qloop_8*(((jac_affine_inv_0_0_GRAY*tmp_qloop_2 + jac_affine_inv_1_0_GRAY*tmp_qloop_2)*(jac_affine_inv_0_0_GRAY*tmp_qloop_2 + jac_affine_inv_1_0_GRAY*tmp_qloop_2)) + ((jac_affine_inv_0_1_GRAY*tmp_qloop_2 + jac_affine_inv_1_1_GRAY*tmp_qloop_2)*(jac_affine_inv_0_1_GRAY*tmp_qloop_2 + jac_affine_inv_1_1_GRAY*tmp_qloop_2))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_8*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_qloop_9 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_qloop_9); + const walberla::float64 q_tmp_2_2 = tmp_qloop_8*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_qloop_10 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_qloop_10); + const walberla::float64 q_tmp_3_3 = tmp_qloop_8*(((tmp_qloop_11 + tmp_qloop_12)*(tmp_qloop_11 + tmp_qloop_12)) + ((tmp_qloop_13 + tmp_qloop_14)*(tmp_qloop_13 + tmp_qloop_14))); + const walberla::float64 q_tmp_4_4 = tmp_qloop_8*(((jac_affine_inv_1_0_GRAY*tmp_qloop_15 - tmp_qloop_12)*(jac_affine_inv_1_0_GRAY*tmp_qloop_15 - tmp_qloop_12)) + ((jac_affine_inv_1_1_GRAY*tmp_qloop_15 - tmp_qloop_14)*(jac_affine_inv_1_1_GRAY*tmp_qloop_15 - tmp_qloop_14))); + const walberla::float64 q_tmp_5_5 = tmp_qloop_8*(((jac_affine_inv_0_0_GRAY*tmp_qloop_16 - tmp_qloop_11)*(jac_affine_inv_0_0_GRAY*tmp_qloop_16 - tmp_qloop_11)) + ((jac_affine_inv_0_1_GRAY*tmp_qloop_16 - tmp_qloop_13)*(jac_affine_inv_0_1_GRAY*tmp_qloop_16 - tmp_qloop_13))); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -192,12 +192,12 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; @@ -207,28 +207,28 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ } } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ for (int64_t ctr_1 = 0; ctr_1 < micro_edges_per_macro_edge; ctr_1 += 1) @@ -249,29 +249,29 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ __m256d q_acc_5_5 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 3; q += 1) { - const __m256d tmp_q_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_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_1); - const __m256d tmp_q_3 = _mm256_mul_pd(tmp_q_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_q_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_q_5 = _mm256_mul_pd(tmp_q_4,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_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_q_7 = _mm256_mul_pd(tmp_q_6,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_8 = _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_q_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_q_7))),_mm256_mul_pd(k_dof_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_q_1))),_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_q_3),tmp_q_5),tmp_q_7))),_mm256_mul_pd(k_dof_3,tmp_q_3)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)); - const __m256d tmp_q_9 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_0)); - const __m256d tmp_q_10 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_q_1)); - const __m256d tmp_q_11 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)); - const __m256d tmp_q_12 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)); - const __m256d tmp_q_13 = _mm256_mul_pd(tmp_q_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)); - const __m256d tmp_q_14 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)); - const __m256d tmp_q_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_q_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(tmp_q_2,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(tmp_q_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))),_mm256_mul_pd(tmp_q_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(tmp_q_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_mul_pd(tmp_q_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(tmp_q_11,tmp_q_12),_mm256_add_pd(tmp_q_11,tmp_q_12)),_mm256_mul_pd(_mm256_add_pd(tmp_q_13,tmp_q_14),_mm256_add_pd(tmp_q_13,tmp_q_14)))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_15,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_q_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_q_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_16,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)))))); + 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(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_2 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_1); + const __m256d tmp_qloop_3 = _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_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_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_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_5,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_0))),_mm256_mul_pd(k_dof_4,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0)),_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),tmp_qloop_1))),_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_3),tmp_qloop_5),tmp_qloop_7))),_mm256_mul_pd(k_dof_3,tmp_qloop_3)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE,abs_det_jac_affine_BLUE)); + const __m256d tmp_qloop_9 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_0)); + const __m256d tmp_qloop_10 = _mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1),_mm256_add_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),tmp_qloop_1)); + const __m256d tmp_qloop_11 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)); + const __m256d tmp_qloop_12 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)); + const __m256d tmp_qloop_13 = _mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)); + const __m256d tmp_qloop_14 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)); + const __m256d tmp_qloop_15 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_mul_pd(tmp_qloop_0,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_16 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)),_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE),_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))),_mm256_mul_pd(tmp_qloop_9,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE),_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(tmp_qloop_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE),_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_mul_pd(tmp_qloop_10,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE),_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(tmp_qloop_11,tmp_qloop_12),_mm256_add_pd(tmp_qloop_11,tmp_qloop_12)),_mm256_mul_pd(_mm256_add_pd(tmp_qloop_13,tmp_qloop_14),_mm256_add_pd(tmp_qloop_13,tmp_qloop_14)))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE,jac_affine_inv_1_0_BLUE)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_15,_mm256_set_pd(jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE,jac_affine_inv_1_1_BLUE)))))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_8,_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_11,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE,jac_affine_inv_0_0_BLUE)))),_mm256_mul_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE))),_mm256_add_pd(_mm256_mul_pd(tmp_qloop_13,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_16,_mm256_set_pd(jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE,jac_affine_inv_0_1_BLUE)))))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -294,43 +294,43 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_4 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_5 = tmp_q_4*2.0; - const real_t tmp_q_6 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_q_3 + tmp_q_5 + tmp_q_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_5 - _data_q_p_0[q]) + k_dof_2*(tmp_q_7 - _data_q_p_1[q]) + k_dof_3*tmp_q_3 + k_dof_4*(tmp_q_1 - tmp_q_3 + tmp_q_6*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_3 + tmp_q_4*-4.0))*_data_q_w[q]; - const real_t tmp_q_9 = ((tmp_q_0 - 1.0)*(tmp_q_0 - 1.0)); - const real_t tmp_q_10 = ((tmp_q_1 - 1.0)*(tmp_q_1 - 1.0)); - const real_t tmp_q_11 = jac_affine_inv_1_0_BLUE*tmp_q_0; - const real_t tmp_q_12 = jac_affine_inv_0_0_BLUE*tmp_q_1; - const real_t tmp_q_13 = jac_affine_inv_1_1_BLUE*tmp_q_0; - const real_t tmp_q_14 = jac_affine_inv_0_1_BLUE*tmp_q_1; - const real_t tmp_q_15 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_16 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t q_tmp_0_0 = tmp_q_8*(((jac_affine_inv_0_0_BLUE*tmp_q_2 + jac_affine_inv_1_0_BLUE*tmp_q_2)*(jac_affine_inv_0_0_BLUE*tmp_q_2 + jac_affine_inv_1_0_BLUE*tmp_q_2)) + ((jac_affine_inv_0_1_BLUE*tmp_q_2 + jac_affine_inv_1_1_BLUE*tmp_q_2)*(jac_affine_inv_0_1_BLUE*tmp_q_2 + jac_affine_inv_1_1_BLUE*tmp_q_2))); - const real_t q_tmp_1_1 = tmp_q_8*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_q_9 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_q_9); - const real_t q_tmp_2_2 = tmp_q_8*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_q_10 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_q_10); - const real_t q_tmp_3_3 = tmp_q_8*(((tmp_q_11 + tmp_q_12)*(tmp_q_11 + tmp_q_12)) + ((tmp_q_13 + tmp_q_14)*(tmp_q_13 + tmp_q_14))); - const real_t q_tmp_4_4 = tmp_q_8*(((jac_affine_inv_1_0_BLUE*tmp_q_15 - tmp_q_12)*(jac_affine_inv_1_0_BLUE*tmp_q_15 - tmp_q_12)) + ((jac_affine_inv_1_1_BLUE*tmp_q_15 - tmp_q_14)*(jac_affine_inv_1_1_BLUE*tmp_q_15 - tmp_q_14))); - const real_t q_tmp_5_5 = tmp_q_8*(((jac_affine_inv_0_0_BLUE*tmp_q_16 - tmp_q_11)*(jac_affine_inv_0_0_BLUE*tmp_q_16 - tmp_q_11)) + ((jac_affine_inv_0_1_BLUE*tmp_q_16 - tmp_q_13)*(jac_affine_inv_0_1_BLUE*tmp_q_16 - tmp_q_13))); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_5 = tmp_qloop_4*2.0; + const walberla::float64 tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[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_3 + k_dof_4*(tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_3 + tmp_qloop_4*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_9 = ((tmp_qloop_0 - 1.0)*(tmp_qloop_0 - 1.0)); + const walberla::float64 tmp_qloop_10 = ((tmp_qloop_1 - 1.0)*(tmp_qloop_1 - 1.0)); + const walberla::float64 tmp_qloop_11 = jac_affine_inv_1_0_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_1_1_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_14 = jac_affine_inv_0_1_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_15 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_16 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 q_tmp_0_0 = tmp_qloop_8*(((jac_affine_inv_0_0_BLUE*tmp_qloop_2 + jac_affine_inv_1_0_BLUE*tmp_qloop_2)*(jac_affine_inv_0_0_BLUE*tmp_qloop_2 + jac_affine_inv_1_0_BLUE*tmp_qloop_2)) + ((jac_affine_inv_0_1_BLUE*tmp_qloop_2 + jac_affine_inv_1_1_BLUE*tmp_qloop_2)*(jac_affine_inv_0_1_BLUE*tmp_qloop_2 + jac_affine_inv_1_1_BLUE*tmp_qloop_2))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_8*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_qloop_9 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_qloop_9); + const walberla::float64 q_tmp_2_2 = tmp_qloop_8*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_qloop_10 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_qloop_10); + const walberla::float64 q_tmp_3_3 = tmp_qloop_8*(((tmp_qloop_11 + tmp_qloop_12)*(tmp_qloop_11 + tmp_qloop_12)) + ((tmp_qloop_13 + tmp_qloop_14)*(tmp_qloop_13 + tmp_qloop_14))); + const walberla::float64 q_tmp_4_4 = tmp_qloop_8*(((jac_affine_inv_1_0_BLUE*tmp_qloop_15 - tmp_qloop_12)*(jac_affine_inv_1_0_BLUE*tmp_qloop_15 - tmp_qloop_12)) + ((jac_affine_inv_1_1_BLUE*tmp_qloop_15 - tmp_qloop_14)*(jac_affine_inv_1_1_BLUE*tmp_qloop_15 - tmp_qloop_14))); + const walberla::float64 q_tmp_5_5 = tmp_qloop_8*(((jac_affine_inv_0_0_BLUE*tmp_qloop_16 - tmp_qloop_11)*(jac_affine_inv_0_0_BLUE*tmp_qloop_16 - tmp_qloop_11)) + ((jac_affine_inv_0_1_BLUE*tmp_qloop_16 - tmp_qloop_13)*(jac_affine_inv_0_1_BLUE*tmp_qloop_16 - tmp_qloop_13))); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -338,12 +338,12 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; diff --git a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp index cbbabac57ed9561223ffd47a5596c4085a9b554a..0b357856dad179fa6bd0f6daddbde7c723374b99 100644 --- a/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp +++ b/operators/div_k_grad/avx/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -56,56 +56,56 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_t * RESTRICT _data_invDiag_Edge, real_t * RESTRICT _data_invDiag_Vertex, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, 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 +void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( walberla::float64 * RESTRICT _data_invDiag_Edge, walberla::float64 * RESTRICT _data_invDiag_Vertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.041666666666666657, 0.041666666666666657, 0.041666666666666657, 0.041666666666666657}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; + const walberla::float64 _data_q_p_0 [] = {0.1381966011250105, 0.1381966011250105, 0.5854101966249684, 0.1381966011250105}; - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; + const walberla::float64 _data_q_p_1 [] = {0.1381966011250105, 0.5854101966249684, 0.1381966011250105, 0.1381966011250105}; - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; + const walberla::float64 _data_q_p_2 [] = {0.5854101966249684, 0.1381966011250105, 0.1381966011250105, 0.1381966011250105}; - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -135,57 +135,57 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_6 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_7 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_11 = _mm256_mul_pd(tmp_q_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_12 = _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_q_13 = _mm256_mul_pd(tmp_q_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_14 = _mm256_add_pd(tmp_q_5,tmp_q_6); - const __m256d tmp_q_15 = _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_q_9)),_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_q_11))),_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_q_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_11),tmp_q_13),tmp_q_14),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_4,tmp_q_7)),_mm256_mul_pd(k_dof_5,tmp_q_6)),_mm256_mul_pd(k_dof_6,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP)); - const __m256d tmp_q_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_19 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; - const __m256d tmp_q_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26)),_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28)),_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30)),_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32)),_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34)),_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36)),_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_6 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_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_11 = _mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_12 = _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_13 = _mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6); + const __m256d tmp_qloop_15 = _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_9)),_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_11))),_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_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_11),tmp_qloop_13),tmp_qloop_14),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_7)),_mm256_mul_pd(k_dof_5,tmp_qloop_6)),_mm256_mul_pd(k_dof_6,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP,abs_det_jac_affine_WHITE_UP)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; + const __m256d tmp_qloop_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_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_add_pd(_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_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP))),_mm256_add_pd(_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(_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_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP,jac_affine_inv_2_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP,jac_affine_inv_2_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP,jac_affine_inv_2_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP,jac_affine_inv_1_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP,jac_affine_inv_1_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP,jac_affine_inv_1_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP,jac_affine_inv_0_0_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP))),_mm256_add_pd(_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(_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_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP,jac_affine_inv_0_1_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP,jac_affine_inv_0_2_WHITE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -220,79 +220,79 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_q_4 + jac_affine_inv_1_0_WHITE_UP*tmp_q_4 + jac_affine_inv_2_0_WHITE_UP*tmp_q_4)*(jac_affine_inv_0_0_WHITE_UP*tmp_q_4 + jac_affine_inv_1_0_WHITE_UP*tmp_q_4 + jac_affine_inv_2_0_WHITE_UP*tmp_q_4)) + ((jac_affine_inv_0_1_WHITE_UP*tmp_q_4 + jac_affine_inv_1_1_WHITE_UP*tmp_q_4 + jac_affine_inv_2_1_WHITE_UP*tmp_q_4)*(jac_affine_inv_0_1_WHITE_UP*tmp_q_4 + jac_affine_inv_1_1_WHITE_UP*tmp_q_4 + jac_affine_inv_2_1_WHITE_UP*tmp_q_4)) + ((jac_affine_inv_0_2_WHITE_UP*tmp_q_4 + jac_affine_inv_1_2_WHITE_UP*tmp_q_4 + jac_affine_inv_2_2_WHITE_UP*tmp_q_4)*(jac_affine_inv_0_2_WHITE_UP*tmp_q_4 + jac_affine_inv_1_2_WHITE_UP*tmp_q_4 + jac_affine_inv_2_2_WHITE_UP*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_q_16 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_q_16 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_q_17 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_q_17 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_q_18 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_q_18 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_WHITE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_WHITE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_WHITE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_WHITE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_WHITE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_WHITE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_WHITE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_WHITE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_WHITE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_WHITE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_WHITE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4)*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4)*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_qloop_16 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_qloop_16 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_qloop_17 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_qloop_17 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_qloop_18 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_qloop_18 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -304,16 +304,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; @@ -327,57 +327,57 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -407,57 +407,57 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_6 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_7 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_11 = _mm256_mul_pd(tmp_q_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_12 = _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_q_13 = _mm256_mul_pd(tmp_q_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_14 = _mm256_add_pd(tmp_q_5,tmp_q_6); - const __m256d tmp_q_15 = _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_q_9)),_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_q_11))),_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_q_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_11),tmp_q_13),tmp_q_14),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_4,tmp_q_7)),_mm256_mul_pd(k_dof_5,tmp_q_6)),_mm256_mul_pd(k_dof_6,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN)); - const __m256d tmp_q_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_19 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; - const __m256d tmp_q_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26)),_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28)),_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30)),_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32)),_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34)),_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36)),_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_6 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_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_11 = _mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_12 = _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_13 = _mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6); + const __m256d tmp_qloop_15 = _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_9)),_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_11))),_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_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_11),tmp_qloop_13),tmp_qloop_14),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_7)),_mm256_mul_pd(k_dof_5,tmp_qloop_6)),_mm256_mul_pd(k_dof_6,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN,abs_det_jac_affine_WHITE_DOWN)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; + const __m256d tmp_qloop_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_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_add_pd(_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_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN))),_mm256_add_pd(_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(_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_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN,jac_affine_inv_2_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN,jac_affine_inv_2_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN,jac_affine_inv_2_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN,jac_affine_inv_1_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN,jac_affine_inv_1_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN,jac_affine_inv_1_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN,jac_affine_inv_0_0_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN))),_mm256_add_pd(_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(_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_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN,jac_affine_inv_0_1_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN,jac_affine_inv_0_2_WHITE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -492,79 +492,79 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_q_4)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_q_4)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_q_4)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_q_16 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_q_16 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_q_17 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_q_17 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_q_18 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_q_18 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -576,16 +576,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -599,51 +599,51 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -673,57 +673,57 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_6 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_7 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_11 = _mm256_mul_pd(tmp_q_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_12 = _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_q_13 = _mm256_mul_pd(tmp_q_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_14 = _mm256_add_pd(tmp_q_5,tmp_q_6); - const __m256d tmp_q_15 = _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_q_9)),_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_q_11))),_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_q_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_11),tmp_q_13),tmp_q_14),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_4,tmp_q_7)),_mm256_mul_pd(k_dof_5,tmp_q_6)),_mm256_mul_pd(k_dof_6,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP)); - const __m256d tmp_q_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_19 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; - const __m256d tmp_q_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26)),_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28)),_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30)),_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32)),_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34)),_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36)),_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_6 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_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_11 = _mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_12 = _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_13 = _mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6); + const __m256d tmp_qloop_15 = _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_9)),_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_11))),_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_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_11),tmp_qloop_13),tmp_qloop_14),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_7)),_mm256_mul_pd(k_dof_5,tmp_qloop_6)),_mm256_mul_pd(k_dof_6,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP,abs_det_jac_affine_BLUE_UP)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; + const __m256d tmp_qloop_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_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_add_pd(_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_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP))),_mm256_add_pd(_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(_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_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP,jac_affine_inv_2_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP,jac_affine_inv_2_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP,jac_affine_inv_2_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP,jac_affine_inv_1_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP,jac_affine_inv_1_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP,jac_affine_inv_1_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP,jac_affine_inv_0_0_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP))),_mm256_add_pd(_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(_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_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP,jac_affine_inv_0_1_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP,jac_affine_inv_0_2_BLUE_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -758,79 +758,79 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_q_4 + jac_affine_inv_1_0_BLUE_UP*tmp_q_4 + jac_affine_inv_2_0_BLUE_UP*tmp_q_4)*(jac_affine_inv_0_0_BLUE_UP*tmp_q_4 + jac_affine_inv_1_0_BLUE_UP*tmp_q_4 + jac_affine_inv_2_0_BLUE_UP*tmp_q_4)) + ((jac_affine_inv_0_1_BLUE_UP*tmp_q_4 + jac_affine_inv_1_1_BLUE_UP*tmp_q_4 + jac_affine_inv_2_1_BLUE_UP*tmp_q_4)*(jac_affine_inv_0_1_BLUE_UP*tmp_q_4 + jac_affine_inv_1_1_BLUE_UP*tmp_q_4 + jac_affine_inv_2_1_BLUE_UP*tmp_q_4)) + ((jac_affine_inv_0_2_BLUE_UP*tmp_q_4 + jac_affine_inv_1_2_BLUE_UP*tmp_q_4 + jac_affine_inv_2_2_BLUE_UP*tmp_q_4)*(jac_affine_inv_0_2_BLUE_UP*tmp_q_4 + jac_affine_inv_1_2_BLUE_UP*tmp_q_4 + jac_affine_inv_2_2_BLUE_UP*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_q_16 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_q_16 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_q_17 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_q_17 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_q_18 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_q_18 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_BLUE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_BLUE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_BLUE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_BLUE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_BLUE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_BLUE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_BLUE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_BLUE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_BLUE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_BLUE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_BLUE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4)*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4)*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_qloop_16 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_qloop_16 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_qloop_17 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_qloop_17 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_qloop_18 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_qloop_18 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -842,16 +842,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -865,54 +865,54 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -942,57 +942,57 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_6 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_7 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_11 = _mm256_mul_pd(tmp_q_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_12 = _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_q_13 = _mm256_mul_pd(tmp_q_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_14 = _mm256_add_pd(tmp_q_5,tmp_q_6); - const __m256d tmp_q_15 = _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_q_9)),_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_q_11))),_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_q_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_11),tmp_q_13),tmp_q_14),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_4,tmp_q_7)),_mm256_mul_pd(k_dof_5,tmp_q_6)),_mm256_mul_pd(k_dof_6,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN)); - const __m256d tmp_q_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_19 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; - const __m256d tmp_q_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26)),_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28)),_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30)),_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32)),_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34)),_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36)),_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_6 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_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_11 = _mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_12 = _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_13 = _mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6); + const __m256d tmp_qloop_15 = _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_9)),_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_11))),_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_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_11),tmp_qloop_13),tmp_qloop_14),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_7)),_mm256_mul_pd(k_dof_5,tmp_qloop_6)),_mm256_mul_pd(k_dof_6,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN,abs_det_jac_affine_BLUE_DOWN)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; + const __m256d tmp_qloop_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_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_add_pd(_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_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN))),_mm256_add_pd(_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(_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_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN,jac_affine_inv_2_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN,jac_affine_inv_2_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN,jac_affine_inv_2_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN,jac_affine_inv_1_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN,jac_affine_inv_1_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN,jac_affine_inv_1_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN,jac_affine_inv_0_0_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN))),_mm256_add_pd(_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(_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_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN,jac_affine_inv_0_1_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN,jac_affine_inv_0_2_BLUE_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -1027,79 +1027,79 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_q_4)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_q_4)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_q_4)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_q_16 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_q_16 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_q_17 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_q_17 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_q_18 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_q_18 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -1111,16 +1111,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -1134,51 +1134,51 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -1208,57 +1208,57 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_6 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_7 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_11 = _mm256_mul_pd(tmp_q_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_12 = _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_q_13 = _mm256_mul_pd(tmp_q_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_14 = _mm256_add_pd(tmp_q_5,tmp_q_6); - const __m256d tmp_q_15 = _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_q_9)),_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_q_11))),_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_q_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_11),tmp_q_13),tmp_q_14),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_4,tmp_q_7)),_mm256_mul_pd(k_dof_5,tmp_q_6)),_mm256_mul_pd(k_dof_6,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP)); - const __m256d tmp_q_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_19 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; - const __m256d tmp_q_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26)),_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28)),_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30)),_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32)),_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34)),_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36)),_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_6 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_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_11 = _mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_12 = _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_13 = _mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6); + const __m256d tmp_qloop_15 = _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_9)),_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_11))),_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_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_11),tmp_qloop_13),tmp_qloop_14),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_7)),_mm256_mul_pd(k_dof_5,tmp_qloop_6)),_mm256_mul_pd(k_dof_6,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP,abs_det_jac_affine_GREEN_UP)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; + const __m256d tmp_qloop_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_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_add_pd(_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_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP))),_mm256_add_pd(_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(_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_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP,jac_affine_inv_2_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP,jac_affine_inv_2_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP,jac_affine_inv_2_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP,jac_affine_inv_1_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP,jac_affine_inv_1_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP,jac_affine_inv_1_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP,jac_affine_inv_0_0_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP))),_mm256_add_pd(_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(_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_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP,jac_affine_inv_0_1_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP,jac_affine_inv_0_2_GREEN_UP)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -1293,79 +1293,79 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_q_4 + jac_affine_inv_1_0_GREEN_UP*tmp_q_4 + jac_affine_inv_2_0_GREEN_UP*tmp_q_4)*(jac_affine_inv_0_0_GREEN_UP*tmp_q_4 + jac_affine_inv_1_0_GREEN_UP*tmp_q_4 + jac_affine_inv_2_0_GREEN_UP*tmp_q_4)) + ((jac_affine_inv_0_1_GREEN_UP*tmp_q_4 + jac_affine_inv_1_1_GREEN_UP*tmp_q_4 + jac_affine_inv_2_1_GREEN_UP*tmp_q_4)*(jac_affine_inv_0_1_GREEN_UP*tmp_q_4 + jac_affine_inv_1_1_GREEN_UP*tmp_q_4 + jac_affine_inv_2_1_GREEN_UP*tmp_q_4)) + ((jac_affine_inv_0_2_GREEN_UP*tmp_q_4 + jac_affine_inv_1_2_GREEN_UP*tmp_q_4 + jac_affine_inv_2_2_GREEN_UP*tmp_q_4)*(jac_affine_inv_0_2_GREEN_UP*tmp_q_4 + jac_affine_inv_1_2_GREEN_UP*tmp_q_4 + jac_affine_inv_2_2_GREEN_UP*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_q_16 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_q_16 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_q_17 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_q_17 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_q_18 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_q_18 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_GREEN_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_GREEN_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_GREEN_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_GREEN_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_GREEN_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_GREEN_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_GREEN_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_GREEN_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_GREEN_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_GREEN_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_GREEN_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4)) + ((jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4)*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4)) + ((jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4)*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_qloop_16 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_qloop_16 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_qloop_17 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_qloop_17 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_qloop_18 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_qloop_18 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -1377,16 +1377,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -1400,54 +1400,54 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) @@ -1477,57 +1477,57 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ __m256d q_acc_9_9 = _mm256_set_pd(0.0,0.0,0.0,0.0); for (int64_t q = 0; q < 4; q += 1) { - const __m256d tmp_q_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_3 = _mm256_add_pd(tmp_q_1,tmp_q_2); - const __m256d tmp_q_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_q_0),tmp_q_3); - const __m256d tmp_q_5 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); - const __m256d tmp_q_6 = _mm256_mul_pd(tmp_q_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_7 = _mm256_mul_pd(tmp_q_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); - const __m256d tmp_q_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); - const __m256d tmp_q_9 = _mm256_mul_pd(tmp_q_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_10 = _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_q_11 = _mm256_mul_pd(tmp_q_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_12 = _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_q_13 = _mm256_mul_pd(tmp_q_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); - const __m256d tmp_q_14 = _mm256_add_pd(tmp_q_5,tmp_q_6); - const __m256d tmp_q_15 = _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_q_9)),_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_q_11))),_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_q_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_q_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_q_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_q_11),tmp_q_13),tmp_q_14),tmp_q_7),tmp_q_9))),_mm256_mul_pd(k_dof_4,tmp_q_7)),_mm256_mul_pd(k_dof_5,tmp_q_6)),_mm256_mul_pd(k_dof_6,tmp_q_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN)); - const __m256d tmp_q_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const __m256d tmp_q_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); - const real_t tmp_q_19 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; - const __m256d tmp_q_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); - const __m256d tmp_q_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_q_0); - const __m256d tmp_q_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); - const __m256d tmp_q_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_q_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); - const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_q_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))))); - const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_q_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))); - const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_q_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))); - const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_q_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))); - const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_add_pd(_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_add_pd(_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_add_pd(_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26)),_mm256_add_pd(_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28)),_mm256_add_pd(_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30)),_mm256_add_pd(_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32)),_mm256_add_pd(_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34)),_mm256_add_pd(_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36)),_mm256_add_pd(_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_20,tmp_q_20,tmp_q_20,tmp_q_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_26,tmp_q_26,tmp_q_26,tmp_q_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_22,tmp_q_22,tmp_q_22,tmp_q_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_28,tmp_q_28,tmp_q_28,tmp_q_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_24,tmp_q_24,tmp_q_24,tmp_q_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_30,tmp_q_30,tmp_q_30,tmp_q_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_19,tmp_q_19,tmp_q_19,tmp_q_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_32,tmp_q_32,tmp_q_32,tmp_q_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_21,tmp_q_21,tmp_q_21,tmp_q_21)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_34,tmp_q_34,tmp_q_34,tmp_q_34))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_23,tmp_q_23,tmp_q_23,tmp_q_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_36,tmp_q_36,tmp_q_36,tmp_q_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); - const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_q_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_25,tmp_q_25,tmp_q_25,tmp_q_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_31,tmp_q_31,tmp_q_31,tmp_q_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_27,tmp_q_27,tmp_q_27,tmp_q_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_33,tmp_q_33,tmp_q_33,tmp_q_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_29,tmp_q_29,tmp_q_29,tmp_q_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_q_35,tmp_q_35,tmp_q_35,tmp_q_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_q_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d tmp_qloop_0 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_1 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_2 = _mm256_mul_pd(_mm256_set_pd(4.0,4.0,4.0,4.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_3 = _mm256_add_pd(tmp_qloop_1,tmp_qloop_2); + const __m256d tmp_qloop_4 = _mm256_add_pd(_mm256_add_pd(_mm256_set_pd(-3.0,-3.0,-3.0,-3.0),tmp_qloop_0),tmp_qloop_3); + const __m256d tmp_qloop_5 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])); + const __m256d tmp_qloop_6 = _mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_7 = _mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])); + const __m256d tmp_qloop_8 = _mm256_mul_pd(_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])); + const __m256d tmp_qloop_9 = _mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_10 = _mm256_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_11 = _mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_12 = _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_13 = _mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(2.0,2.0,2.0,2.0)); + const __m256d tmp_qloop_14 = _mm256_add_pd(tmp_qloop_5,tmp_qloop_6); + const __m256d tmp_qloop_15 = _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_9)),_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_11))),_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_13))),_mm256_mul_pd(k_dof_9,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_14,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_8,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_1))),_mm256_mul_pd(k_dof_8,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_5,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_10,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_2))),_mm256_mul_pd(k_dof_7,_mm256_add_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_6,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_7,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(tmp_qloop_12,_mm256_set_pd(-4.0,-4.0,-4.0,-4.0))),tmp_qloop_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_11),tmp_qloop_13),tmp_qloop_14),tmp_qloop_7),tmp_qloop_9))),_mm256_mul_pd(k_dof_4,tmp_qloop_7)),_mm256_mul_pd(k_dof_5,tmp_qloop_6)),_mm256_mul_pd(k_dof_6,tmp_qloop_5)),_mm256_set_pd(_data_q_w[q],_data_q_w[q],_data_q_w[q],_data_q_w[q])),_mm256_set_pd(abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN,abs_det_jac_affine_GREEN_DOWN)); + const __m256d tmp_qloop_16 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_17 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const __m256d tmp_qloop_18 = _mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q])),_mm256_add_pd(_mm256_set_pd(-0.25,-0.25,-0.25,-0.25),_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(16.0,16.0,16.0,16.0)); + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; + const __m256d tmp_qloop_37 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_3,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q],_data_q_p_2[q]))),_mm256_set_pd(4.0,4.0,4.0,4.0)); + const __m256d tmp_qloop_38 = _mm256_add_pd(_mm256_set_pd(-4.0,-4.0,-4.0,-4.0),tmp_qloop_0); + const __m256d tmp_qloop_39 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_1,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q],_data_q_p_1[q]))); + const __m256d tmp_qloop_40 = _mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_2,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0)),_mm256_mul_pd(tmp_qloop_38,_mm256_set_pd(-1.0,-1.0,-1.0,-1.0))),_mm256_mul_pd(_mm256_set_pd(-8.0,-8.0,-8.0,-8.0),_mm256_set_pd(_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q],_data_q_p_0[q]))); + const __m256d q_tmp_0_0 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))))),_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_4,_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))))); + const __m256d q_tmp_1_1 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_16,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))))); + const __m256d q_tmp_2_2 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_17,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))))); + const __m256d q_tmp_3_3 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_mul_pd(tmp_qloop_18,_mm256_mul_pd(_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))))); + const __m256d q_tmp_4_4 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_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_add_pd(_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_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_5_5 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_6_6 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33),_mm256_set_pd(tmp_qloop_34,tmp_qloop_34,tmp_qloop_34,tmp_qloop_34))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36)),_mm256_add_pd(_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_7_7 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_20,tmp_qloop_20,tmp_qloop_20,tmp_qloop_20)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_26,tmp_qloop_26,tmp_qloop_26,tmp_qloop_26))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN))),_mm256_add_pd(_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(_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_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN,jac_affine_inv_2_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_22,tmp_qloop_22,tmp_qloop_22,tmp_qloop_22)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_28,tmp_qloop_28,tmp_qloop_28,tmp_qloop_28))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN,jac_affine_inv_2_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_24,tmp_qloop_24,tmp_qloop_24,tmp_qloop_24)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_30,tmp_qloop_30,tmp_qloop_30,tmp_qloop_30))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_37,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN,jac_affine_inv_2_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_8_8 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_19,tmp_qloop_19,tmp_qloop_19,tmp_qloop_19)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_32,tmp_qloop_32,tmp_qloop_32,tmp_qloop_32))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN,jac_affine_inv_1_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_21,tmp_qloop_21,tmp_qloop_21,tmp_qloop_21)),_mm256_mul_pd(_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_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN,jac_affine_inv_1_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_23,tmp_qloop_23,tmp_qloop_23,tmp_qloop_23)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_36,tmp_qloop_36,tmp_qloop_36,tmp_qloop_36))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_39,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN,jac_affine_inv_1_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); + const __m256d q_tmp_9_9 = _mm256_mul_pd(tmp_qloop_15,_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_25,tmp_qloop_25,tmp_qloop_25,tmp_qloop_25)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_31,tmp_qloop_31,tmp_qloop_31,tmp_qloop_31))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN,jac_affine_inv_0_0_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_27,tmp_qloop_27,tmp_qloop_27,tmp_qloop_27)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_33,tmp_qloop_33,tmp_qloop_33,tmp_qloop_33))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN))),_mm256_add_pd(_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(_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_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN,jac_affine_inv_0_1_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0))),_mm256_mul_pd(_mm256_mul_pd(_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN))),_mm256_add_pd(_mm256_add_pd(_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_29,tmp_qloop_29,tmp_qloop_29,tmp_qloop_29)),_mm256_mul_pd(_mm256_set_pd(-1.0,-1.0,-1.0,-1.0),_mm256_set_pd(tmp_qloop_35,tmp_qloop_35,tmp_qloop_35,tmp_qloop_35))),_mm256_mul_pd(_mm256_mul_pd(tmp_qloop_40,_mm256_set_pd(0.25,0.25,0.25,0.25)),_mm256_set_pd(jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN,jac_affine_inv_0_2_GREEN_DOWN)))),_mm256_set_pd(16.0,16.0,16.0,16.0)))); q_acc_0_0 = _mm256_add_pd(q_acc_0_0,q_tmp_0_0); q_acc_1_1 = _mm256_add_pd(q_acc_1_1,q_tmp_1_1); q_acc_2_2 = _mm256_add_pd(q_acc_2_2,q_tmp_2_2); @@ -1562,79 +1562,79 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ } 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 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_q_4)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_q_4)) + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_q_4)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_q_4)) + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_q_4)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_q_16 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_q_16 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_q_17 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_q_17 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_q_18 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_q_18 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -1646,16 +1646,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; diff --git a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_2D.cpp b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_2D.cpp index 4069e41b4d8258df01b3af4ed1f2d6fd3a4ec48c..a670ef4e50844300d2d83605cf35923126f19a47 100644 --- a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_2D.cpp +++ b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_2D.cpp @@ -56,61 +56,59 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_k, real_t * RESTRICT _data_src, 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 +void P1ElementwiseDivKGrad::apply_macro_2D( walberla::float64 * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_k, walberla::float64 * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.5}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; - - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; - - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); - const real_t tmp_q_0 = -jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY; - const real_t tmp_q_1 = -jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY; + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ + const walberla::float64 _data_phi_0_0_GRAY [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY [] = {abs_det_jac_affine_GRAY*(((-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)) + ((-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY))), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_0_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_1_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_1_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY), abs_det_jac_affine_GRAY*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY))}; + 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_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; - const real_t src_dof_1 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; - const real_t k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_2 = abs_det_jac_affine_GRAY*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_2*((tmp_q_0*tmp_q_0) + (tmp_q_1*tmp_q_1)); - const real_t q_tmp_0_1 = tmp_q_2*(jac_affine_inv_0_0_GRAY*tmp_q_0 + jac_affine_inv_0_1_GRAY*tmp_q_1); - const real_t q_tmp_0_2 = tmp_q_2*(jac_affine_inv_1_0_GRAY*tmp_q_0 + jac_affine_inv_1_1_GRAY*tmp_q_1); - const real_t q_tmp_1_1 = tmp_q_2*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)); - const real_t q_tmp_1_2 = tmp_q_2*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY); - const real_t q_tmp_2_2 = tmp_q_2*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GRAY[3*q] + k_dof_1*_data_phi_0_0_GRAY[3*q + 1] + k_dof_2*_data_phi_0_0_GRAY[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 2]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5]; 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; @@ -118,64 +116,66 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; + const walberla::float64 elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; _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_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); - const real_t Dummy_1808 = -jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE; - const real_t Dummy_1809 = -jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE; + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ + const walberla::float64 _data_phi_0_0_BLUE [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE [] = {abs_det_jac_affine_BLUE*(((-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)) + ((-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE))), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_0_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_1_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_1_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE), abs_det_jac_affine_BLUE*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE))}; + 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_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t src_dof_1 = _data_src[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_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_1 = _data_k[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_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_2 = abs_det_jac_affine_BLUE*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_2*((Dummy_1808*Dummy_1808) + (Dummy_1809*Dummy_1809)); - const real_t q_tmp_0_1 = tmp_q_2*(Dummy_1808*jac_affine_inv_0_0_BLUE + Dummy_1809*jac_affine_inv_0_1_BLUE); - const real_t q_tmp_0_2 = tmp_q_2*(Dummy_1808*jac_affine_inv_1_0_BLUE + Dummy_1809*jac_affine_inv_1_1_BLUE); - const real_t q_tmp_1_1 = tmp_q_2*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)); - const real_t q_tmp_1_2 = tmp_q_2*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE); - const real_t q_tmp_2_2 = tmp_q_2*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE[3*q] + k_dof_1*_data_phi_0_0_BLUE[3*q + 1] + k_dof_2*_data_phi_0_0_BLUE[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 2]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5]; 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; @@ -183,9 +183,9 @@ void P1ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dst, real_t q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; + const walberla::float64 elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2; _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]; diff --git a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_3D.cpp b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_3D.cpp index c0a681f703e71794122b034d691f2e9d8dc96427..075461c86c55a173a15c3e84f73c51d7fd5a9c24 100644 --- a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_3D.cpp +++ b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_apply_macro_3D.cpp @@ -56,96 +56,91 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t * RESTRICT _data_k, real_t * RESTRICT _data_src, 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 +void P1ElementwiseDivKGrad::apply_macro_3D( walberla::float64 * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_k, walberla::float64 * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.16666666666666663}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; - - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; - - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; - - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); - const real_t tmp_q_0 = -jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP; - const real_t tmp_q_1 = -jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP; - const real_t tmp_q_2 = -jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)) + ((-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)) + ((-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP))), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_0_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_0_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_1_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_1_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_2_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_2_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_2_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) { - const real_t src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((tmp_q_0*tmp_q_0) + (tmp_q_1*tmp_q_1) + (tmp_q_2*tmp_q_2)); - const real_t q_tmp_0_1 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*tmp_q_0 + jac_affine_inv_0_1_WHITE_UP*tmp_q_1 + jac_affine_inv_0_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_0_2 = tmp_q_3*(jac_affine_inv_1_0_WHITE_UP*tmp_q_0 + jac_affine_inv_1_1_WHITE_UP*tmp_q_1 + jac_affine_inv_1_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_0_3 = tmp_q_3*(jac_affine_inv_2_0_WHITE_UP*tmp_q_0 + jac_affine_inv_2_1_WHITE_UP*tmp_q_1 + jac_affine_inv_2_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_UP[4*q] + k_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9]; 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; @@ -157,107 +152,108 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); - const real_t Dummy_1918 = -jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN; - const real_t Dummy_1919 = -jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN; - const real_t Dummy_1920 = -jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)) + ((-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)) + ((-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN))), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_0_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_0_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_1_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_1_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_2_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_2_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_2_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) { - const real_t src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1918*Dummy_1918) + (Dummy_1919*Dummy_1919) + (Dummy_1920*Dummy_1920)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1918*jac_affine_inv_0_0_WHITE_DOWN + Dummy_1919*jac_affine_inv_0_1_WHITE_DOWN + Dummy_1920*jac_affine_inv_0_2_WHITE_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1918*jac_affine_inv_1_0_WHITE_DOWN + Dummy_1919*jac_affine_inv_1_1_WHITE_DOWN + Dummy_1920*jac_affine_inv_1_2_WHITE_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1918*jac_affine_inv_2_0_WHITE_DOWN + Dummy_1919*jac_affine_inv_2_1_WHITE_DOWN + Dummy_1920*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + k_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9]; 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; @@ -269,101 +265,102 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); - const real_t Dummy_1921 = -jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP; - const real_t Dummy_1922 = -jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP; - const real_t Dummy_1923 = -jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)) + ((-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)) + ((-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP))), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_0_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_0_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_1_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_1_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_2_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_2_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_2_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1921*Dummy_1921) + (Dummy_1922*Dummy_1922) + (Dummy_1923*Dummy_1923)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1921*jac_affine_inv_0_0_BLUE_UP + Dummy_1922*jac_affine_inv_0_1_BLUE_UP + Dummy_1923*jac_affine_inv_0_2_BLUE_UP); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1921*jac_affine_inv_1_0_BLUE_UP + Dummy_1922*jac_affine_inv_1_1_BLUE_UP + Dummy_1923*jac_affine_inv_1_2_BLUE_UP); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1921*jac_affine_inv_2_0_BLUE_UP + Dummy_1922*jac_affine_inv_2_1_BLUE_UP + Dummy_1923*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_UP[4*q] + k_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9]; 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; @@ -375,104 +372,105 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); - const real_t Dummy_1924 = -jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN; - const real_t Dummy_1925 = -jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN; - const real_t Dummy_1926 = -jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)) + ((-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)) + ((-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN))), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_0_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_0_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_1_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_1_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_2_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_2_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_2_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1924*Dummy_1924) + (Dummy_1925*Dummy_1925) + (Dummy_1926*Dummy_1926)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1924*jac_affine_inv_0_0_BLUE_DOWN + Dummy_1925*jac_affine_inv_0_1_BLUE_DOWN + Dummy_1926*jac_affine_inv_0_2_BLUE_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1924*jac_affine_inv_1_0_BLUE_DOWN + Dummy_1925*jac_affine_inv_1_1_BLUE_DOWN + Dummy_1926*jac_affine_inv_1_2_BLUE_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1924*jac_affine_inv_2_0_BLUE_DOWN + Dummy_1925*jac_affine_inv_2_1_BLUE_DOWN + Dummy_1926*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + k_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9]; 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; @@ -484,101 +482,102 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); - const real_t Dummy_1927 = -jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP; - const real_t Dummy_1928 = -jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP; - const real_t Dummy_1929 = -jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)) + ((-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)) + ((-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP))), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_0_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_0_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_1_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_1_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_2_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_2_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_2_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1927*Dummy_1927) + (Dummy_1928*Dummy_1928) + (Dummy_1929*Dummy_1929)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1927*jac_affine_inv_0_0_GREEN_UP + Dummy_1928*jac_affine_inv_0_1_GREEN_UP + Dummy_1929*jac_affine_inv_0_2_GREEN_UP); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1927*jac_affine_inv_1_0_GREEN_UP + Dummy_1928*jac_affine_inv_1_1_GREEN_UP + Dummy_1929*jac_affine_inv_1_2_GREEN_UP); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1927*jac_affine_inv_2_0_GREEN_UP + Dummy_1928*jac_affine_inv_2_1_GREEN_UP + Dummy_1929*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_UP[4*q] + k_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9]; 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; @@ -590,104 +589,105 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); - const real_t Dummy_1930 = -jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN; - const real_t Dummy_1931 = -jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN; - const real_t Dummy_1932 = -jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)) + ((-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)) + ((-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN))), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_0_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_0_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_1_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_1_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_2_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_2_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_2_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 src_dof_0 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 src_dof_1 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_2 = _data_src[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 src_dof_3 = _data_src[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_1930*Dummy_1930) + (Dummy_1931*Dummy_1931) + (Dummy_1932*Dummy_1932)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_1930*jac_affine_inv_0_0_GREEN_DOWN + Dummy_1931*jac_affine_inv_0_1_GREEN_DOWN + Dummy_1932*jac_affine_inv_0_2_GREEN_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_1930*jac_affine_inv_1_0_GREEN_DOWN + Dummy_1931*jac_affine_inv_1_1_GREEN_DOWN + Dummy_1932*jac_affine_inv_1_2_GREEN_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_1930*jac_affine_inv_2_0_GREEN_DOWN + Dummy_1931*jac_affine_inv_2_1_GREEN_DOWN + Dummy_1932*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + k_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9]; 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; @@ -699,10 +699,10 @@ void P1ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dst, real_t q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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; - const real_t elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; - const real_t elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; + const walberla::float64 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; + const walberla::float64 elMatVec_1 = q_acc_0_1*src_dof_0 + q_acc_1_1*src_dof_1 + q_acc_1_2*src_dof_2 + q_acc_1_3*src_dof_3; + const walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*src_dof_1 + q_acc_2_2*src_dof_2 + q_acc_2_3*src_dof_3; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3; _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]; diff --git a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp index de22f855cec58d2975bbb0750868d4b15198ed4c..d6d176652d7c4cfd4c51e1e1ea8a94437e8da39d 100644 --- a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp +++ b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp @@ -56,108 +56,112 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_t * RESTRICT _data_invDiag_, real_t * RESTRICT _data_k, 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 +void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( walberla::float64 * RESTRICT _data_invDiag_, walberla::float64 * RESTRICT _data_k, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.5}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; - - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; - - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ + const walberla::float64 _data_phi_0_0_GRAY [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY [] = {abs_det_jac_affine_GRAY*(((-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)) + ((-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY))), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_0_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_1_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_1_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY), abs_det_jac_affine_GRAY*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY))}; + 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_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; - const real_t k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_GRAY*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)) + ((-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GRAY[3*q] + k_dof_1*_data_phi_0_0_GRAY[3*q + 1] + k_dof_2*_data_phi_0_0_GRAY[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ + const walberla::float64 _data_phi_0_0_BLUE [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE [] = {abs_det_jac_affine_BLUE*(((-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)) + ((-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE))), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_0_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_1_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_1_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE), abs_det_jac_affine_BLUE*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE))}; + 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_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_1 = _data_k[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_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_BLUE*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)) + ((-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE[3*q] + k_dof_1*_data_phi_0_0_BLUE[3*q + 1] + k_dof_2*_data_phi_0_0_BLUE[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; diff --git a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp index 489ba1294a46d519d82f9d0f06b716a9702cc64a..5ec2a1c63a69ffe49d27f82a60d2c5d82b59f113 100644 --- a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp +++ b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -56,503 +56,521 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_t * RESTRICT _data_invDiag_, real_t * RESTRICT _data_k, 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 +void P1ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( walberla::float64 * RESTRICT _data_invDiag_, walberla::float64 * RESTRICT _data_k, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.16666666666666663}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; - - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; - - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; - - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)) + ((-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)) + ((-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP))), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_0_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_0_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_1_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_1_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_2_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_2_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_2_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)) + ((-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)) + ((-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_UP[4*q] + k_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)) + ((-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)) + ((-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN))), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_0_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_0_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_1_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_1_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_2_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_2_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_2_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)) + ((-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)) + ((-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + k_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)) + ((-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)) + ((-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP))), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_0_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_0_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_1_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_1_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_2_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_2_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_2_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)) + ((-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)) + ((-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_UP[4*q] + k_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)) + ((-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)) + ((-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN))), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_0_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_0_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_1_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_1_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_2_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_2_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_2_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)) + ((-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)) + ((-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + k_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_3 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)) + ((-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)) + ((-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP))), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_0_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_0_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_1_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_1_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_2_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_2_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_2_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)) + ((-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)) + ((-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_UP[4*q] + k_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_3 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)) + ((-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)) + ((-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN))), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_0_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_0_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_1_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_1_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_2_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_2_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_2_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; - real_t q_acc_0_0 = 0.0; - real_t q_acc_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_0 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_0*(((-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)) + ((-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)) + ((-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN))); - const real_t q_tmp_1_1 = tmp_q_0*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)); - const real_t q_tmp_2_2 = tmp_q_0*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)); - const real_t q_tmp_3_3 = tmp_q_0*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + k_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9]; q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; diff --git a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_2D.cpp b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_2D.cpp index c57484a4bd0ce4e088b12f23b85f50c7e4d7bae8..e00090a19256a7b7f94bf5123c84de2d92262b97 100644 --- a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_2D.cpp +++ b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_2D.cpp @@ -56,58 +56,56 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, real_t * RESTRICT _data_k, idx_t * RESTRICT _data_src, 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 +void P1ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_k, idx_t * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.5}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; - - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; - - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); - const real_t tmp_q_0 = -jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY; - const real_t tmp_q_1 = -jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY; + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ + const walberla::float64 _data_phi_0_0_GRAY [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY [] = {abs_det_jac_affine_GRAY*(((-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY)) + ((-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY))), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_0_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_1_0_GRAY*(-jac_affine_inv_0_0_GRAY - jac_affine_inv_1_0_GRAY) + jac_affine_inv_1_1_GRAY*(-jac_affine_inv_0_1_GRAY - jac_affine_inv_1_1_GRAY)), abs_det_jac_affine_GRAY*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)), abs_det_jac_affine_GRAY*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY), abs_det_jac_affine_GRAY*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY))}; + 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_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; - const real_t k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_2 = abs_det_jac_affine_GRAY*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_2*((tmp_q_0*tmp_q_0) + (tmp_q_1*tmp_q_1)); - const real_t q_tmp_0_1 = tmp_q_2*(jac_affine_inv_0_0_GRAY*tmp_q_0 + jac_affine_inv_0_1_GRAY*tmp_q_1); - const real_t q_tmp_0_2 = tmp_q_2*(jac_affine_inv_1_0_GRAY*tmp_q_0 + jac_affine_inv_1_1_GRAY*tmp_q_1); - const real_t q_tmp_1_1 = tmp_q_2*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY) + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)); - const real_t q_tmp_1_2 = tmp_q_2*(jac_affine_inv_0_0_GRAY*jac_affine_inv_1_0_GRAY + jac_affine_inv_0_1_GRAY*jac_affine_inv_1_1_GRAY); - const real_t q_tmp_2_2 = tmp_q_2*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY) + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GRAY[3*q] + k_dof_1*_data_phi_0_0_GRAY[3*q + 1] + k_dof_2*_data_phi_0_0_GRAY[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 2]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 3]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GRAY[6*q + 5]; 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; @@ -115,19 +113,19 @@ void P1ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, real q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - 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_1_0 = q_acc_0_1; - const real_t elMat_1_1 = q_acc_1_1; - const real_t elMat_1_2 = q_acc_1_2; - const real_t elMat_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; std::vector< uint_t > _data_rowIdx( 3 ); std::vector< uint_t > _data_colIdx( 3 ); - std::vector< real_t > _data_mat( 9 ); + std::vector< walberla::float64 > _data_mat( 9 ); _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])); @@ -140,67 +138,69 @@ void P1ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[4] = ((real_t)(elMat_1_1)); - _data_mat[5] = ((real_t)(elMat_1_2)); - _data_mat[6] = ((real_t)(elMat_2_0)); - _data_mat[7] = ((real_t)(elMat_2_1)); - _data_mat[8] = ((real_t)(elMat_2_2)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_1_0)); + _data_mat[4] = ((walberla::float64)(elMat_1_1)); + _data_mat[5] = ((walberla::float64)(elMat_1_2)); + _data_mat[6] = ((walberla::float64)(elMat_2_0)); + _data_mat[7] = ((walberla::float64)(elMat_2_1)); + _data_mat[8] = ((walberla::float64)(elMat_2_2)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); - const real_t Dummy_1959 = -jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE; - const real_t Dummy_1960 = -jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE; + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ + const walberla::float64 _data_phi_0_0_BLUE [] = {0.33333333333333343, 0.33333333333333331, 0.33333333333333331}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE [] = {abs_det_jac_affine_BLUE*(((-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE)) + ((-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE))), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_0_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_1_0_BLUE*(-jac_affine_inv_0_0_BLUE - jac_affine_inv_1_0_BLUE) + jac_affine_inv_1_1_BLUE*(-jac_affine_inv_0_1_BLUE - jac_affine_inv_1_1_BLUE)), abs_det_jac_affine_BLUE*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)), abs_det_jac_affine_BLUE*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE), abs_det_jac_affine_BLUE*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE))}; + 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_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; - const real_t k_dof_1 = _data_k[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_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_2_2 = 0.0; - for (int64_t q = 0; q < 3; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_2 = abs_det_jac_affine_BLUE*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_2*((Dummy_1959*Dummy_1959) + (Dummy_1960*Dummy_1960)); - const real_t q_tmp_0_1 = tmp_q_2*(Dummy_1959*jac_affine_inv_0_0_BLUE + Dummy_1960*jac_affine_inv_0_1_BLUE); - const real_t q_tmp_0_2 = tmp_q_2*(Dummy_1959*jac_affine_inv_1_0_BLUE + Dummy_1960*jac_affine_inv_1_1_BLUE); - const real_t q_tmp_1_1 = tmp_q_2*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE) + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)); - const real_t q_tmp_1_2 = tmp_q_2*(jac_affine_inv_0_0_BLUE*jac_affine_inv_1_0_BLUE + jac_affine_inv_0_1_BLUE*jac_affine_inv_1_1_BLUE); - const real_t q_tmp_2_2 = tmp_q_2*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE) + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE[3*q] + k_dof_1*_data_phi_0_0_BLUE[3*q + 1] + k_dof_2*_data_phi_0_0_BLUE[3*q + 2])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 2]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 3]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 4]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE[6*q + 5]; 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; @@ -208,19 +208,19 @@ void P1ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, real q_acc_1_2 = q_acc_1_2 + q_tmp_1_2; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; } - 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_1_0 = q_acc_0_1; - const real_t elMat_1_1 = q_acc_1_1; - const real_t elMat_1_2 = q_acc_1_2; - const real_t elMat_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; std::vector< uint_t > _data_rowIdx( 3 ); std::vector< uint_t > _data_colIdx( 3 ); - std::vector< real_t > _data_mat( 9 ); + std::vector< walberla::float64 > _data_mat( 9 ); _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))])); @@ -233,15 +233,15 @@ void P1ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[4] = ((real_t)(elMat_1_1)); - _data_mat[5] = ((real_t)(elMat_1_2)); - _data_mat[6] = ((real_t)(elMat_2_0)); - _data_mat[7] = ((real_t)(elMat_2_1)); - _data_mat[8] = ((real_t)(elMat_2_2)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_1_0)); + _data_mat[4] = ((walberla::float64)(elMat_1_1)); + _data_mat[5] = ((walberla::float64)(elMat_1_2)); + _data_mat[6] = ((walberla::float64)(elMat_2_0)); + _data_mat[7] = ((walberla::float64)(elMat_2_1)); + _data_mat[8] = ((walberla::float64)(elMat_2_2)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); diff --git a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_3D.cpp b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_3D.cpp index f4eef4c1811834b93b720540bd375834b0e002a9..ccdfdd39998e27a640605afbabc5c8d625fd1182 100644 --- a/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_3D.cpp +++ b/operators/div_k_grad/noarch/P1ElementwiseDivKGrad_toMatrix_macro_3D.cpp @@ -56,92 +56,87 @@ namespace hyteg { namespace operatorgeneration { -void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real_t * RESTRICT _data_k, idx_t * RESTRICT _data_src, 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 +void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, walberla::float64 * RESTRICT _data_k, idx_t * RESTRICT _data_src, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.16666666666666663}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; - - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; - - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; - - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); - const real_t tmp_q_0 = -jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP; - const real_t tmp_q_1 = -jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP; - const real_t tmp_q_2 = -jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ + const walberla::float64 _data_phi_0_0_WHITE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP [] = {abs_det_jac_affine_WHITE_UP*(((-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP)) + ((-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP)) + ((-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP))), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_0_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_0_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_1_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_1_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_2_0_WHITE_UP*(-jac_affine_inv_0_0_WHITE_UP - jac_affine_inv_1_0_WHITE_UP - jac_affine_inv_2_0_WHITE_UP) + jac_affine_inv_2_1_WHITE_UP*(-jac_affine_inv_0_1_WHITE_UP - jac_affine_inv_1_1_WHITE_UP - jac_affine_inv_2_1_WHITE_UP) + jac_affine_inv_2_2_WHITE_UP*(-jac_affine_inv_0_2_WHITE_UP - jac_affine_inv_1_2_WHITE_UP - jac_affine_inv_2_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)), abs_det_jac_affine_WHITE_UP*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP), abs_det_jac_affine_WHITE_UP*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((tmp_q_0*tmp_q_0) + (tmp_q_1*tmp_q_1) + (tmp_q_2*tmp_q_2)); - const real_t q_tmp_0_1 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*tmp_q_0 + jac_affine_inv_0_1_WHITE_UP*tmp_q_1 + jac_affine_inv_0_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_0_2 = tmp_q_3*(jac_affine_inv_1_0_WHITE_UP*tmp_q_0 + jac_affine_inv_1_1_WHITE_UP*tmp_q_1 + jac_affine_inv_1_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_0_3 = tmp_q_3*(jac_affine_inv_2_0_WHITE_UP*tmp_q_0 + jac_affine_inv_2_1_WHITE_UP*tmp_q_1 + jac_affine_inv_2_2_WHITE_UP*tmp_q_2); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP) + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP) + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP) + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP) + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP + jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP + jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP) + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP) + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_UP[4*q] + k_dof_1*_data_phi_0_0_WHITE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_UP[10*q + 9]; 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; @@ -153,26 +148,26 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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_1_0 = q_acc_0_1; - 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_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; - const real_t elMat_2_3 = q_acc_2_3; - const real_t elMat_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; std::vector< uint_t > _data_rowIdx( 4 ); std::vector< uint_t > _data_colIdx( 4 ); - std::vector< real_t > _data_mat( 16 ); + std::vector< walberla::float64 > _data_mat( 16 ); _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])); @@ -187,114 +182,115 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[5] = ((real_t)(elMat_1_1)); - _data_mat[6] = ((real_t)(elMat_1_2)); - _data_mat[7] = ((real_t)(elMat_1_3)); - _data_mat[8] = ((real_t)(elMat_2_0)); - _data_mat[9] = ((real_t)(elMat_2_1)); - _data_mat[10] = ((real_t)(elMat_2_2)); - _data_mat[11] = ((real_t)(elMat_2_3)); - _data_mat[12] = ((real_t)(elMat_3_0)); - _data_mat[13] = ((real_t)(elMat_3_1)); - _data_mat[14] = ((real_t)(elMat_3_2)); - _data_mat[15] = ((real_t)(elMat_3_3)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_1_0)); + _data_mat[5] = ((walberla::float64)(elMat_1_1)); + _data_mat[6] = ((walberla::float64)(elMat_1_2)); + _data_mat[7] = ((walberla::float64)(elMat_1_3)); + _data_mat[8] = ((walberla::float64)(elMat_2_0)); + _data_mat[9] = ((walberla::float64)(elMat_2_1)); + _data_mat[10] = ((walberla::float64)(elMat_2_2)); + _data_mat[11] = ((walberla::float64)(elMat_2_3)); + _data_mat[12] = ((walberla::float64)(elMat_3_0)); + _data_mat[13] = ((walberla::float64)(elMat_3_1)); + _data_mat[14] = ((walberla::float64)(elMat_3_2)); + _data_mat[15] = ((walberla::float64)(elMat_3_3)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); - const real_t Dummy_2069 = -jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN; - const real_t Dummy_2070 = -jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN; - const real_t Dummy_2071 = -jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ + const walberla::float64 _data_phi_0_0_WHITE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN [] = {abs_det_jac_affine_WHITE_DOWN*(((-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN)) + ((-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN)) + ((-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN))), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_0_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_0_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_1_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_1_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_2_0_WHITE_DOWN*(-jac_affine_inv_0_0_WHITE_DOWN - jac_affine_inv_1_0_WHITE_DOWN - jac_affine_inv_2_0_WHITE_DOWN) + jac_affine_inv_2_1_WHITE_DOWN*(-jac_affine_inv_0_1_WHITE_DOWN - jac_affine_inv_1_1_WHITE_DOWN - jac_affine_inv_2_1_WHITE_DOWN) + jac_affine_inv_2_2_WHITE_DOWN*(-jac_affine_inv_0_2_WHITE_DOWN - jac_affine_inv_1_2_WHITE_DOWN - jac_affine_inv_2_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)), abs_det_jac_affine_WHITE_DOWN*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN), abs_det_jac_affine_WHITE_DOWN*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_2069*Dummy_2069) + (Dummy_2070*Dummy_2070) + (Dummy_2071*Dummy_2071)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_2069*jac_affine_inv_0_0_WHITE_DOWN + Dummy_2070*jac_affine_inv_0_1_WHITE_DOWN + Dummy_2071*jac_affine_inv_0_2_WHITE_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_2069*jac_affine_inv_1_0_WHITE_DOWN + Dummy_2070*jac_affine_inv_1_1_WHITE_DOWN + Dummy_2071*jac_affine_inv_1_2_WHITE_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_2069*jac_affine_inv_2_0_WHITE_DOWN + Dummy_2070*jac_affine_inv_2_1_WHITE_DOWN + Dummy_2071*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN) + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN) + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN) + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN) + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN + jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN + jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN) + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN) + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_WHITE_DOWN[4*q] + k_dof_1*_data_phi_0_0_WHITE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_WHITE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_WHITE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_WHITE_DOWN[10*q + 9]; 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; @@ -306,26 +302,26 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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_1_0 = q_acc_0_1; - 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_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; - const real_t elMat_2_3 = q_acc_2_3; - const real_t elMat_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; std::vector< uint_t > _data_rowIdx( 4 ); std::vector< uint_t > _data_colIdx( 4 ); - std::vector< real_t > _data_mat( 16 ); + std::vector< walberla::float64 > _data_mat( 16 ); _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])); @@ -340,108 +336,109 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[5] = ((real_t)(elMat_1_1)); - _data_mat[6] = ((real_t)(elMat_1_2)); - _data_mat[7] = ((real_t)(elMat_1_3)); - _data_mat[8] = ((real_t)(elMat_2_0)); - _data_mat[9] = ((real_t)(elMat_2_1)); - _data_mat[10] = ((real_t)(elMat_2_2)); - _data_mat[11] = ((real_t)(elMat_2_3)); - _data_mat[12] = ((real_t)(elMat_3_0)); - _data_mat[13] = ((real_t)(elMat_3_1)); - _data_mat[14] = ((real_t)(elMat_3_2)); - _data_mat[15] = ((real_t)(elMat_3_3)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_1_0)); + _data_mat[5] = ((walberla::float64)(elMat_1_1)); + _data_mat[6] = ((walberla::float64)(elMat_1_2)); + _data_mat[7] = ((walberla::float64)(elMat_1_3)); + _data_mat[8] = ((walberla::float64)(elMat_2_0)); + _data_mat[9] = ((walberla::float64)(elMat_2_1)); + _data_mat[10] = ((walberla::float64)(elMat_2_2)); + _data_mat[11] = ((walberla::float64)(elMat_2_3)); + _data_mat[12] = ((walberla::float64)(elMat_3_0)); + _data_mat[13] = ((walberla::float64)(elMat_3_1)); + _data_mat[14] = ((walberla::float64)(elMat_3_2)); + _data_mat[15] = ((walberla::float64)(elMat_3_3)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); - const real_t Dummy_2072 = -jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP; - const real_t Dummy_2073 = -jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP; - const real_t Dummy_2074 = -jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ + const walberla::float64 _data_phi_0_0_BLUE_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP [] = {abs_det_jac_affine_BLUE_UP*(((-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP)) + ((-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP)) + ((-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP))), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_0_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_0_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_1_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_1_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_2_0_BLUE_UP*(-jac_affine_inv_0_0_BLUE_UP - jac_affine_inv_1_0_BLUE_UP - jac_affine_inv_2_0_BLUE_UP) + jac_affine_inv_2_1_BLUE_UP*(-jac_affine_inv_0_1_BLUE_UP - jac_affine_inv_1_1_BLUE_UP - jac_affine_inv_2_1_BLUE_UP) + jac_affine_inv_2_2_BLUE_UP*(-jac_affine_inv_0_2_BLUE_UP - jac_affine_inv_1_2_BLUE_UP - jac_affine_inv_2_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)), abs_det_jac_affine_BLUE_UP*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP), abs_det_jac_affine_BLUE_UP*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_2072*Dummy_2072) + (Dummy_2073*Dummy_2073) + (Dummy_2074*Dummy_2074)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_2072*jac_affine_inv_0_0_BLUE_UP + Dummy_2073*jac_affine_inv_0_1_BLUE_UP + Dummy_2074*jac_affine_inv_0_2_BLUE_UP); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_2072*jac_affine_inv_1_0_BLUE_UP + Dummy_2073*jac_affine_inv_1_1_BLUE_UP + Dummy_2074*jac_affine_inv_1_2_BLUE_UP); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_2072*jac_affine_inv_2_0_BLUE_UP + Dummy_2073*jac_affine_inv_2_1_BLUE_UP + Dummy_2074*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP) + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP) + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP) + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP) + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP + jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP + jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP) + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP) + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_UP[4*q] + k_dof_1*_data_phi_0_0_BLUE_UP[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_UP[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_UP[10*q + 9]; 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; @@ -453,26 +450,26 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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_1_0 = q_acc_0_1; - 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_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; - const real_t elMat_2_3 = q_acc_2_3; - const real_t elMat_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; std::vector< uint_t > _data_rowIdx( 4 ); std::vector< uint_t > _data_colIdx( 4 ); - std::vector< real_t > _data_mat( 16 ); + std::vector< walberla::float64 > _data_mat( 16 ); _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))])); @@ -487,111 +484,112 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[5] = ((real_t)(elMat_1_1)); - _data_mat[6] = ((real_t)(elMat_1_2)); - _data_mat[7] = ((real_t)(elMat_1_3)); - _data_mat[8] = ((real_t)(elMat_2_0)); - _data_mat[9] = ((real_t)(elMat_2_1)); - _data_mat[10] = ((real_t)(elMat_2_2)); - _data_mat[11] = ((real_t)(elMat_2_3)); - _data_mat[12] = ((real_t)(elMat_3_0)); - _data_mat[13] = ((real_t)(elMat_3_1)); - _data_mat[14] = ((real_t)(elMat_3_2)); - _data_mat[15] = ((real_t)(elMat_3_3)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_1_0)); + _data_mat[5] = ((walberla::float64)(elMat_1_1)); + _data_mat[6] = ((walberla::float64)(elMat_1_2)); + _data_mat[7] = ((walberla::float64)(elMat_1_3)); + _data_mat[8] = ((walberla::float64)(elMat_2_0)); + _data_mat[9] = ((walberla::float64)(elMat_2_1)); + _data_mat[10] = ((walberla::float64)(elMat_2_2)); + _data_mat[11] = ((walberla::float64)(elMat_2_3)); + _data_mat[12] = ((walberla::float64)(elMat_3_0)); + _data_mat[13] = ((walberla::float64)(elMat_3_1)); + _data_mat[14] = ((walberla::float64)(elMat_3_2)); + _data_mat[15] = ((walberla::float64)(elMat_3_3)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); - const real_t Dummy_2075 = -jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN; - const real_t Dummy_2076 = -jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN; - const real_t Dummy_2077 = -jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ + const walberla::float64 _data_phi_0_0_BLUE_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN [] = {abs_det_jac_affine_BLUE_DOWN*(((-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN)) + ((-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN)) + ((-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN))), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_0_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_0_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_1_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_1_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_2_0_BLUE_DOWN*(-jac_affine_inv_0_0_BLUE_DOWN - jac_affine_inv_1_0_BLUE_DOWN - jac_affine_inv_2_0_BLUE_DOWN) + jac_affine_inv_2_1_BLUE_DOWN*(-jac_affine_inv_0_1_BLUE_DOWN - jac_affine_inv_1_1_BLUE_DOWN - jac_affine_inv_2_1_BLUE_DOWN) + jac_affine_inv_2_2_BLUE_DOWN*(-jac_affine_inv_0_2_BLUE_DOWN - jac_affine_inv_1_2_BLUE_DOWN - jac_affine_inv_2_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)), abs_det_jac_affine_BLUE_DOWN*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN), abs_det_jac_affine_BLUE_DOWN*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_2075*Dummy_2075) + (Dummy_2076*Dummy_2076) + (Dummy_2077*Dummy_2077)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_2075*jac_affine_inv_0_0_BLUE_DOWN + Dummy_2076*jac_affine_inv_0_1_BLUE_DOWN + Dummy_2077*jac_affine_inv_0_2_BLUE_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_2075*jac_affine_inv_1_0_BLUE_DOWN + Dummy_2076*jac_affine_inv_1_1_BLUE_DOWN + Dummy_2077*jac_affine_inv_1_2_BLUE_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_2075*jac_affine_inv_2_0_BLUE_DOWN + Dummy_2076*jac_affine_inv_2_1_BLUE_DOWN + Dummy_2077*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN) + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN) + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN) + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN) + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN + jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN + jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN) + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN) + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_BLUE_DOWN[4*q] + k_dof_1*_data_phi_0_0_BLUE_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_BLUE_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_BLUE_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_BLUE_DOWN[10*q + 9]; 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; @@ -603,26 +601,26 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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_1_0 = q_acc_0_1; - 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_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; - const real_t elMat_2_3 = q_acc_2_3; - const real_t elMat_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; std::vector< uint_t > _data_rowIdx( 4 ); std::vector< uint_t > _data_colIdx( 4 ); - std::vector< real_t > _data_mat( 16 ); + std::vector< walberla::float64 > _data_mat( 16 ); _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))])); @@ -637,108 +635,109 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[5] = ((real_t)(elMat_1_1)); - _data_mat[6] = ((real_t)(elMat_1_2)); - _data_mat[7] = ((real_t)(elMat_1_3)); - _data_mat[8] = ((real_t)(elMat_2_0)); - _data_mat[9] = ((real_t)(elMat_2_1)); - _data_mat[10] = ((real_t)(elMat_2_2)); - _data_mat[11] = ((real_t)(elMat_2_3)); - _data_mat[12] = ((real_t)(elMat_3_0)); - _data_mat[13] = ((real_t)(elMat_3_1)); - _data_mat[14] = ((real_t)(elMat_3_2)); - _data_mat[15] = ((real_t)(elMat_3_3)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_1_0)); + _data_mat[5] = ((walberla::float64)(elMat_1_1)); + _data_mat[6] = ((walberla::float64)(elMat_1_2)); + _data_mat[7] = ((walberla::float64)(elMat_1_3)); + _data_mat[8] = ((walberla::float64)(elMat_2_0)); + _data_mat[9] = ((walberla::float64)(elMat_2_1)); + _data_mat[10] = ((walberla::float64)(elMat_2_2)); + _data_mat[11] = ((walberla::float64)(elMat_2_3)); + _data_mat[12] = ((walberla::float64)(elMat_3_0)); + _data_mat[13] = ((walberla::float64)(elMat_3_1)); + _data_mat[14] = ((walberla::float64)(elMat_3_2)); + _data_mat[15] = ((walberla::float64)(elMat_3_3)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); - const real_t Dummy_2078 = -jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP; - const real_t Dummy_2079 = -jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP; - const real_t Dummy_2080 = -jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ + const walberla::float64 _data_phi_0_0_GREEN_UP [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP [] = {abs_det_jac_affine_GREEN_UP*(((-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP)) + ((-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP)) + ((-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP))), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_0_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_0_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_1_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_1_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_2_0_GREEN_UP*(-jac_affine_inv_0_0_GREEN_UP - jac_affine_inv_1_0_GREEN_UP - jac_affine_inv_2_0_GREEN_UP) + jac_affine_inv_2_1_GREEN_UP*(-jac_affine_inv_0_1_GREEN_UP - jac_affine_inv_1_1_GREEN_UP - jac_affine_inv_2_1_GREEN_UP) + jac_affine_inv_2_2_GREEN_UP*(-jac_affine_inv_0_2_GREEN_UP - jac_affine_inv_1_2_GREEN_UP - jac_affine_inv_2_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)), abs_det_jac_affine_GREEN_UP*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP), abs_det_jac_affine_GREEN_UP*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_2078*Dummy_2078) + (Dummy_2079*Dummy_2079) + (Dummy_2080*Dummy_2080)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_2078*jac_affine_inv_0_0_GREEN_UP + Dummy_2079*jac_affine_inv_0_1_GREEN_UP + Dummy_2080*jac_affine_inv_0_2_GREEN_UP); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_2078*jac_affine_inv_1_0_GREEN_UP + Dummy_2079*jac_affine_inv_1_1_GREEN_UP + Dummy_2080*jac_affine_inv_1_2_GREEN_UP); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_2078*jac_affine_inv_2_0_GREEN_UP + Dummy_2079*jac_affine_inv_2_1_GREEN_UP + Dummy_2080*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP) + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP) + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP) + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP) + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP + jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP + jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP) + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP) + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_UP[4*q] + k_dof_1*_data_phi_0_0_GREEN_UP[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_UP[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_UP[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_UP[10*q + 9]; 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; @@ -750,26 +749,26 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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_1_0 = q_acc_0_1; - 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_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; - const real_t elMat_2_3 = q_acc_2_3; - const real_t elMat_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; std::vector< uint_t > _data_rowIdx( 4 ); std::vector< uint_t > _data_colIdx( 4 ); - std::vector< real_t > _data_mat( 16 ); + std::vector< walberla::float64 > _data_mat( 16 ); _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))])); @@ -784,111 +783,112 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[5] = ((real_t)(elMat_1_1)); - _data_mat[6] = ((real_t)(elMat_1_2)); - _data_mat[7] = ((real_t)(elMat_1_3)); - _data_mat[8] = ((real_t)(elMat_2_0)); - _data_mat[9] = ((real_t)(elMat_2_1)); - _data_mat[10] = ((real_t)(elMat_2_2)); - _data_mat[11] = ((real_t)(elMat_2_3)); - _data_mat[12] = ((real_t)(elMat_3_0)); - _data_mat[13] = ((real_t)(elMat_3_1)); - _data_mat[14] = ((real_t)(elMat_3_2)); - _data_mat[15] = ((real_t)(elMat_3_3)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_1_0)); + _data_mat[5] = ((walberla::float64)(elMat_1_1)); + _data_mat[6] = ((walberla::float64)(elMat_1_2)); + _data_mat[7] = ((walberla::float64)(elMat_1_3)); + _data_mat[8] = ((walberla::float64)(elMat_2_0)); + _data_mat[9] = ((walberla::float64)(elMat_2_1)); + _data_mat[10] = ((walberla::float64)(elMat_2_2)); + _data_mat[11] = ((walberla::float64)(elMat_2_3)); + _data_mat[12] = ((walberla::float64)(elMat_3_0)); + _data_mat[13] = ((walberla::float64)(elMat_3_1)); + _data_mat[14] = ((walberla::float64)(elMat_3_2)); + _data_mat[15] = ((walberla::float64)(elMat_3_3)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); - const real_t Dummy_2081 = -jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN; - const real_t Dummy_2082 = -jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN; - const real_t Dummy_2083 = -jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ + const walberla::float64 _data_phi_0_0_GREEN_DOWN [] = {0.25, 0.25, 0.25, 0.25}; + + const walberla::float64 _data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN [] = {abs_det_jac_affine_GREEN_DOWN*(((-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN)) + ((-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN)) + ((-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN))), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_0_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_0_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_1_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_1_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_2_0_GREEN_DOWN*(-jac_affine_inv_0_0_GREEN_DOWN - jac_affine_inv_1_0_GREEN_DOWN - jac_affine_inv_2_0_GREEN_DOWN) + jac_affine_inv_2_1_GREEN_DOWN*(-jac_affine_inv_0_1_GREEN_DOWN - jac_affine_inv_1_1_GREEN_DOWN - jac_affine_inv_2_1_GREEN_DOWN) + jac_affine_inv_2_2_GREEN_DOWN*(-jac_affine_inv_0_2_GREEN_DOWN - jac_affine_inv_1_2_GREEN_DOWN - jac_affine_inv_2_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)), abs_det_jac_affine_GREEN_DOWN*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN), abs_det_jac_affine_GREEN_DOWN*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN))}; + for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const real_t k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_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_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (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_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (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_1_1 = 0.0; - real_t q_acc_1_2 = 0.0; - real_t q_acc_1_3 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_2_3 = 0.0; - real_t q_acc_3_3 = 0.0; - for (int64_t q = 0; q < 4; q += 1) + const walberla::float64 k_dof_0 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + const walberla::float64 k_dof_1 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_2 = _data_k[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + const walberla::float64 k_dof_3 = _data_k[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + for (int64_t q = 0; q < 1; q += 1) { - const real_t tmp_q_3 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(1.0 - _data_q_p_0[q] - _data_q_p_1[q] - _data_q_p_2[q]) + k_dof_1*_data_q_p_0[q] + k_dof_2*_data_q_p_1[q] + k_dof_3*_data_q_p_2[q])*_data_q_w[q]; - const real_t q_tmp_0_0 = tmp_q_3*((Dummy_2081*Dummy_2081) + (Dummy_2082*Dummy_2082) + (Dummy_2083*Dummy_2083)); - const real_t q_tmp_0_1 = tmp_q_3*(Dummy_2081*jac_affine_inv_0_0_GREEN_DOWN + Dummy_2082*jac_affine_inv_0_1_GREEN_DOWN + Dummy_2083*jac_affine_inv_0_2_GREEN_DOWN); - const real_t q_tmp_0_2 = tmp_q_3*(Dummy_2081*jac_affine_inv_1_0_GREEN_DOWN + Dummy_2082*jac_affine_inv_1_1_GREEN_DOWN + Dummy_2083*jac_affine_inv_1_2_GREEN_DOWN); - const real_t q_tmp_0_3 = tmp_q_3*(Dummy_2081*jac_affine_inv_2_0_GREEN_DOWN + Dummy_2082*jac_affine_inv_2_1_GREEN_DOWN + Dummy_2083*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_1_1 = tmp_q_3*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN) + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN) + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)); - const real_t q_tmp_1_2 = tmp_q_3*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN); - const real_t q_tmp_1_3 = tmp_q_3*(jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_2_2 = tmp_q_3*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN) + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN) + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)); - const real_t q_tmp_2_3 = tmp_q_3*(jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN + jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN + jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN); - const real_t q_tmp_3_3 = tmp_q_3*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN) + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN) + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)); + const walberla::float64 tmp_qloop_0 = (k_dof_0*_data_phi_0_0_GREEN_DOWN[4*q] + k_dof_1*_data_phi_0_0_GREEN_DOWN[4*q + 1] + k_dof_2*_data_phi_0_0_GREEN_DOWN[4*q + 2] + k_dof_3*_data_phi_0_0_GREEN_DOWN[4*q + 3])*_data_q_w[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q]; + const walberla::float64 q_tmp_0_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 1]; + const walberla::float64 q_tmp_0_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 2]; + const walberla::float64 q_tmp_0_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 3]; + const walberla::float64 q_tmp_1_1 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 4]; + const walberla::float64 q_tmp_1_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 5]; + const walberla::float64 q_tmp_1_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 6]; + const walberla::float64 q_tmp_2_2 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 7]; + const walberla::float64 q_tmp_2_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 8]; + const walberla::float64 q_tmp_3_3 = tmp_qloop_0*_data_jac_affine_inv_grad_phi_jac_affine_inv_grad_psi_det_0_0_GREEN_DOWN[10*q + 9]; 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; @@ -900,26 +900,26 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real q_acc_2_3 = q_acc_2_3 + q_tmp_2_3; q_acc_3_3 = q_acc_3_3 + q_tmp_3_3; } - 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_1_0 = q_acc_0_1; - 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_2_0 = q_acc_0_2; - const real_t elMat_2_1 = q_acc_1_2; - const real_t elMat_2_2 = q_acc_2_2; - const real_t elMat_2_3 = q_acc_2_3; - const real_t elMat_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; std::vector< uint_t > _data_rowIdx( 4 ); std::vector< uint_t > _data_colIdx( 4 ); - std::vector< real_t > _data_mat( 16 ); + std::vector< walberla::float64 > _data_mat( 16 ); _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])); @@ -934,22 +934,22 @@ void P1ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, real - _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_1_0)); - _data_mat[5] = ((real_t)(elMat_1_1)); - _data_mat[6] = ((real_t)(elMat_1_2)); - _data_mat[7] = ((real_t)(elMat_1_3)); - _data_mat[8] = ((real_t)(elMat_2_0)); - _data_mat[9] = ((real_t)(elMat_2_1)); - _data_mat[10] = ((real_t)(elMat_2_2)); - _data_mat[11] = ((real_t)(elMat_2_3)); - _data_mat[12] = ((real_t)(elMat_3_0)); - _data_mat[13] = ((real_t)(elMat_3_1)); - _data_mat[14] = ((real_t)(elMat_3_2)); - _data_mat[15] = ((real_t)(elMat_3_3)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_1_0)); + _data_mat[5] = ((walberla::float64)(elMat_1_1)); + _data_mat[6] = ((walberla::float64)(elMat_1_2)); + _data_mat[7] = ((walberla::float64)(elMat_1_3)); + _data_mat[8] = ((walberla::float64)(elMat_2_0)); + _data_mat[9] = ((walberla::float64)(elMat_2_1)); + _data_mat[10] = ((walberla::float64)(elMat_2_2)); + _data_mat[11] = ((walberla::float64)(elMat_2_3)); + _data_mat[12] = ((walberla::float64)(elMat_3_0)); + _data_mat[13] = ((walberla::float64)(elMat_3_1)); + _data_mat[14] = ((walberla::float64)(elMat_3_2)); + _data_mat[15] = ((walberla::float64)(elMat_3_3)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); diff --git a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_2D.cpp b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_2D.cpp index 73bb116d8a940818f5ca321f9b1b8a48083b3edc..462c745d3dc16dfe4de11fb892ed3e244f420071 100644 --- a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_2D.cpp +++ b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_2D.cpp @@ -56,125 +56,125 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, real_t * RESTRICT _data_dstVertex, 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 +void P2ElementwiseDivKGrad::apply_macro_2D( walberla::float64 * RESTRICT _data_dstEdge, walberla::float64 * RESTRICT _data_dstVertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 * RESTRICT _data_srcEdge, walberla::float64 * RESTRICT _data_srcVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; + const walberla::float64 _data_q_p_0 [] = {0.16666666666666666, 0.66666666666666663, 0.16666666666666666}; - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; + const walberla::float64 _data_q_p_1 [] = {0.66666666666666663, 0.16666666666666666, 0.16666666666666666}; - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ 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_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_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_3_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 src_dof_1 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_2 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 src_dof_5 = _data_srcEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = jac_affine_inv_0_0_GRAY*tmp_q_2 + jac_affine_inv_1_0_GRAY*tmp_q_2; - const real_t tmp_q_4 = jac_affine_inv_0_1_GRAY*tmp_q_2 + jac_affine_inv_1_1_GRAY*tmp_q_2; - const real_t tmp_q_5 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_6 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_q_5 + tmp_q_7 + tmp_q_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_7 - _data_q_p_0[q]) + k_dof_2*(tmp_q_9 - _data_q_p_1[q]) + k_dof_3*tmp_q_5 + k_dof_4*(tmp_q_1 - tmp_q_5 + tmp_q_8*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_5 + tmp_q_6*-4.0))*_data_q_w[q]; - const real_t tmp_q_11 = tmp_q_0 - 1.0; - const real_t tmp_q_12 = jac_affine_inv_0_0_GRAY*tmp_q_11; - const real_t tmp_q_13 = jac_affine_inv_0_1_GRAY*tmp_q_11; - const real_t tmp_q_14 = tmp_q_1 - 1.0; - const real_t tmp_q_15 = jac_affine_inv_1_0_GRAY*tmp_q_14; - const real_t tmp_q_16 = jac_affine_inv_1_1_GRAY*tmp_q_14; - const real_t tmp_q_17 = jac_affine_inv_1_0_GRAY*tmp_q_0; - const real_t tmp_q_18 = jac_affine_inv_0_0_GRAY*tmp_q_1; - const real_t tmp_q_19 = tmp_q_17 + tmp_q_18; - const real_t tmp_q_20 = jac_affine_inv_1_1_GRAY*tmp_q_0; - const real_t tmp_q_21 = jac_affine_inv_0_1_GRAY*tmp_q_1; - const real_t tmp_q_22 = tmp_q_20 + tmp_q_21; - const real_t tmp_q_23 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GRAY*tmp_q_23 - tmp_q_18; - const real_t tmp_q_25 = jac_affine_inv_1_1_GRAY*tmp_q_23 - tmp_q_21; - const real_t tmp_q_26 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t tmp_q_27 = jac_affine_inv_0_0_GRAY*tmp_q_26 - tmp_q_17; - const real_t tmp_q_28 = jac_affine_inv_0_1_GRAY*tmp_q_26 - tmp_q_20; - const real_t tmp_q_29 = (tmp_q_11*tmp_q_11); - const real_t tmp_q_30 = (tmp_q_14*tmp_q_14); - const real_t q_tmp_0_0 = tmp_q_10*((tmp_q_3*tmp_q_3) + (tmp_q_4*tmp_q_4)); - const real_t q_tmp_0_1 = tmp_q_10*(tmp_q_12*tmp_q_3 + tmp_q_13*tmp_q_4); - const real_t q_tmp_0_2 = tmp_q_10*(tmp_q_15*tmp_q_3 + tmp_q_16*tmp_q_4); - const real_t q_tmp_0_3 = tmp_q_10*(tmp_q_19*tmp_q_3 + tmp_q_22*tmp_q_4); - const real_t q_tmp_0_4 = tmp_q_10*(tmp_q_24*tmp_q_3 + tmp_q_25*tmp_q_4); - const real_t q_tmp_0_5 = tmp_q_10*(tmp_q_27*tmp_q_3 + tmp_q_28*tmp_q_4); - const real_t q_tmp_1_1 = tmp_q_10*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_q_29 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_q_29); - const real_t q_tmp_1_2 = tmp_q_10*(tmp_q_12*tmp_q_15 + tmp_q_13*tmp_q_16); - const real_t q_tmp_1_3 = tmp_q_10*(tmp_q_12*tmp_q_19 + tmp_q_13*tmp_q_22); - const real_t q_tmp_1_4 = tmp_q_10*(tmp_q_12*tmp_q_24 + tmp_q_13*tmp_q_25); - const real_t q_tmp_1_5 = tmp_q_10*(tmp_q_12*tmp_q_27 + tmp_q_13*tmp_q_28); - const real_t q_tmp_2_2 = tmp_q_10*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_q_30 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_q_30); - const real_t q_tmp_2_3 = tmp_q_10*(tmp_q_15*tmp_q_19 + tmp_q_16*tmp_q_22); - const real_t q_tmp_2_4 = tmp_q_10*(tmp_q_15*tmp_q_24 + tmp_q_16*tmp_q_25); - const real_t q_tmp_2_5 = tmp_q_10*(tmp_q_15*tmp_q_27 + tmp_q_16*tmp_q_28); - const real_t q_tmp_3_3 = tmp_q_10*((tmp_q_19*tmp_q_19) + (tmp_q_22*tmp_q_22)); - const real_t q_tmp_3_4 = tmp_q_10*(tmp_q_19*tmp_q_24 + tmp_q_22*tmp_q_25); - const real_t q_tmp_3_5 = tmp_q_10*(tmp_q_19*tmp_q_27 + tmp_q_22*tmp_q_28); - const real_t q_tmp_4_4 = tmp_q_10*((tmp_q_24*tmp_q_24) + (tmp_q_25*tmp_q_25)); - const real_t q_tmp_4_5 = tmp_q_10*(tmp_q_24*tmp_q_27 + tmp_q_25*tmp_q_28); - const real_t q_tmp_5_5 = tmp_q_10*((tmp_q_27*tmp_q_27) + (tmp_q_28*tmp_q_28)); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = jac_affine_inv_0_0_GRAY*tmp_qloop_2 + jac_affine_inv_1_0_GRAY*tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = jac_affine_inv_0_1_GRAY*tmp_qloop_2 + jac_affine_inv_1_1_GRAY*tmp_qloop_2; + const walberla::float64 tmp_qloop_5 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_7 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_9 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_5 + k_dof_4*(tmp_qloop_1 - tmp_qloop_5 + tmp_qloop_8*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_5 + tmp_qloop_6*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_11 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_GRAY*tmp_qloop_11; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_0_1_GRAY*tmp_qloop_11; + const walberla::float64 tmp_qloop_14 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_15 = jac_affine_inv_1_0_GRAY*tmp_qloop_14; + const walberla::float64 tmp_qloop_16 = jac_affine_inv_1_1_GRAY*tmp_qloop_14; + const walberla::float64 tmp_qloop_17 = jac_affine_inv_1_0_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_18 = jac_affine_inv_0_0_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_1_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_22 = tmp_qloop_20 + tmp_qloop_21; + const walberla::float64 tmp_qloop_23 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GRAY*tmp_qloop_23 - tmp_qloop_18; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GRAY*tmp_qloop_23 - tmp_qloop_21; + const walberla::float64 tmp_qloop_26 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_0_0_GRAY*tmp_qloop_26 - tmp_qloop_17; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GRAY*tmp_qloop_26 - tmp_qloop_20; + const walberla::float64 tmp_qloop_29 = (tmp_qloop_11*tmp_qloop_11); + const walberla::float64 tmp_qloop_30 = (tmp_qloop_14*tmp_qloop_14); + const walberla::float64 q_tmp_0_0 = tmp_qloop_10*((tmp_qloop_3*tmp_qloop_3) + (tmp_qloop_4*tmp_qloop_4)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_3 + tmp_qloop_13*tmp_qloop_4); + const walberla::float64 q_tmp_0_2 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_3 + tmp_qloop_16*tmp_qloop_4); + const walberla::float64 q_tmp_0_3 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_3 + tmp_qloop_22*tmp_qloop_4); + const walberla::float64 q_tmp_0_4 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_3 + tmp_qloop_25*tmp_qloop_4); + const walberla::float64 q_tmp_0_5 = tmp_qloop_10*(tmp_qloop_27*tmp_qloop_3 + tmp_qloop_28*tmp_qloop_4); + const walberla::float64 q_tmp_1_1 = tmp_qloop_10*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_qloop_29 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_qloop_29); + const walberla::float64 q_tmp_1_2 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_15 + tmp_qloop_13*tmp_qloop_16); + const walberla::float64 q_tmp_1_3 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_19 + tmp_qloop_13*tmp_qloop_22); + const walberla::float64 q_tmp_1_4 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_24 + tmp_qloop_13*tmp_qloop_25); + const walberla::float64 q_tmp_1_5 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_27 + tmp_qloop_13*tmp_qloop_28); + const walberla::float64 q_tmp_2_2 = tmp_qloop_10*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_qloop_30 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_qloop_30); + const walberla::float64 q_tmp_2_3 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_19 + tmp_qloop_16*tmp_qloop_22); + const walberla::float64 q_tmp_2_4 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_24 + tmp_qloop_16*tmp_qloop_25); + const walberla::float64 q_tmp_2_5 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_27 + tmp_qloop_16*tmp_qloop_28); + const walberla::float64 q_tmp_3_3 = tmp_qloop_10*((tmp_qloop_19*tmp_qloop_19) + (tmp_qloop_22*tmp_qloop_22)); + const walberla::float64 q_tmp_3_4 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_24 + tmp_qloop_22*tmp_qloop_25); + const walberla::float64 q_tmp_3_5 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_27 + tmp_qloop_22*tmp_qloop_28); + const walberla::float64 q_tmp_4_4 = tmp_qloop_10*((tmp_qloop_24*tmp_qloop_24) + (tmp_qloop_25*tmp_qloop_25)); + const walberla::float64 q_tmp_4_5 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_27 + tmp_qloop_25*tmp_qloop_28); + const walberla::float64 q_tmp_5_5 = tmp_qloop_10*((tmp_qloop_27*tmp_qloop_27) + (tmp_qloop_28*tmp_qloop_28)); 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; @@ -197,12 +197,12 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; q_acc_5_5 = q_acc_5_5 + q_tmp_5_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_0_1*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_0_2*src_dof_0 + q_acc_1_2*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; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; @@ -211,120 +211,120 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re _data_dstEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatVec_5 + _data_dstEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ 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_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_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_3_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 src_dof_0 = _data_srcVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 src_dof_1 = _data_srcVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 src_dof_3 = _data_srcEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = jac_affine_inv_0_0_BLUE*tmp_q_2 + jac_affine_inv_1_0_BLUE*tmp_q_2; - const real_t tmp_q_4 = jac_affine_inv_0_1_BLUE*tmp_q_2 + jac_affine_inv_1_1_BLUE*tmp_q_2; - const real_t tmp_q_5 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_6 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_q_5 + tmp_q_7 + tmp_q_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_7 - _data_q_p_0[q]) + k_dof_2*(tmp_q_9 - _data_q_p_1[q]) + k_dof_3*tmp_q_5 + k_dof_4*(tmp_q_1 - tmp_q_5 + tmp_q_8*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_5 + tmp_q_6*-4.0))*_data_q_w[q]; - const real_t tmp_q_11 = tmp_q_0 - 1.0; - const real_t tmp_q_12 = jac_affine_inv_0_0_BLUE*tmp_q_11; - const real_t tmp_q_13 = jac_affine_inv_0_1_BLUE*tmp_q_11; - const real_t tmp_q_14 = tmp_q_1 - 1.0; - const real_t tmp_q_15 = jac_affine_inv_1_0_BLUE*tmp_q_14; - const real_t tmp_q_16 = jac_affine_inv_1_1_BLUE*tmp_q_14; - const real_t tmp_q_17 = jac_affine_inv_1_0_BLUE*tmp_q_0; - const real_t tmp_q_18 = jac_affine_inv_0_0_BLUE*tmp_q_1; - const real_t tmp_q_19 = tmp_q_17 + tmp_q_18; - const real_t tmp_q_20 = jac_affine_inv_1_1_BLUE*tmp_q_0; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE*tmp_q_1; - const real_t tmp_q_22 = tmp_q_20 + tmp_q_21; - const real_t tmp_q_23 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE*tmp_q_23 - tmp_q_18; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE*tmp_q_23 - tmp_q_21; - const real_t tmp_q_26 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t tmp_q_27 = jac_affine_inv_0_0_BLUE*tmp_q_26 - tmp_q_17; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE*tmp_q_26 - tmp_q_20; - const real_t tmp_q_29 = (tmp_q_11*tmp_q_11); - const real_t tmp_q_30 = (tmp_q_14*tmp_q_14); - const real_t q_tmp_0_0 = tmp_q_10*((tmp_q_3*tmp_q_3) + (tmp_q_4*tmp_q_4)); - const real_t q_tmp_0_1 = tmp_q_10*(tmp_q_12*tmp_q_3 + tmp_q_13*tmp_q_4); - const real_t q_tmp_0_2 = tmp_q_10*(tmp_q_15*tmp_q_3 + tmp_q_16*tmp_q_4); - const real_t q_tmp_0_3 = tmp_q_10*(tmp_q_19*tmp_q_3 + tmp_q_22*tmp_q_4); - const real_t q_tmp_0_4 = tmp_q_10*(tmp_q_24*tmp_q_3 + tmp_q_25*tmp_q_4); - const real_t q_tmp_0_5 = tmp_q_10*(tmp_q_27*tmp_q_3 + tmp_q_28*tmp_q_4); - const real_t q_tmp_1_1 = tmp_q_10*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_q_29 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_q_29); - const real_t q_tmp_1_2 = tmp_q_10*(tmp_q_12*tmp_q_15 + tmp_q_13*tmp_q_16); - const real_t q_tmp_1_3 = tmp_q_10*(tmp_q_12*tmp_q_19 + tmp_q_13*tmp_q_22); - const real_t q_tmp_1_4 = tmp_q_10*(tmp_q_12*tmp_q_24 + tmp_q_13*tmp_q_25); - const real_t q_tmp_1_5 = tmp_q_10*(tmp_q_12*tmp_q_27 + tmp_q_13*tmp_q_28); - const real_t q_tmp_2_2 = tmp_q_10*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_q_30 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_q_30); - const real_t q_tmp_2_3 = tmp_q_10*(tmp_q_15*tmp_q_19 + tmp_q_16*tmp_q_22); - const real_t q_tmp_2_4 = tmp_q_10*(tmp_q_15*tmp_q_24 + tmp_q_16*tmp_q_25); - const real_t q_tmp_2_5 = tmp_q_10*(tmp_q_15*tmp_q_27 + tmp_q_16*tmp_q_28); - const real_t q_tmp_3_3 = tmp_q_10*((tmp_q_19*tmp_q_19) + (tmp_q_22*tmp_q_22)); - const real_t q_tmp_3_4 = tmp_q_10*(tmp_q_19*tmp_q_24 + tmp_q_22*tmp_q_25); - const real_t q_tmp_3_5 = tmp_q_10*(tmp_q_19*tmp_q_27 + tmp_q_22*tmp_q_28); - const real_t q_tmp_4_4 = tmp_q_10*((tmp_q_24*tmp_q_24) + (tmp_q_25*tmp_q_25)); - const real_t q_tmp_4_5 = tmp_q_10*(tmp_q_24*tmp_q_27 + tmp_q_25*tmp_q_28); - const real_t q_tmp_5_5 = tmp_q_10*((tmp_q_27*tmp_q_27) + (tmp_q_28*tmp_q_28)); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = jac_affine_inv_0_0_BLUE*tmp_qloop_2 + jac_affine_inv_1_0_BLUE*tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = jac_affine_inv_0_1_BLUE*tmp_qloop_2 + jac_affine_inv_1_1_BLUE*tmp_qloop_2; + const walberla::float64 tmp_qloop_5 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_7 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_9 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_5 + k_dof_4*(tmp_qloop_1 - tmp_qloop_5 + tmp_qloop_8*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_5 + tmp_qloop_6*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_11 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_BLUE*tmp_qloop_11; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_0_1_BLUE*tmp_qloop_11; + const walberla::float64 tmp_qloop_14 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_15 = jac_affine_inv_1_0_BLUE*tmp_qloop_14; + const walberla::float64 tmp_qloop_16 = jac_affine_inv_1_1_BLUE*tmp_qloop_14; + const walberla::float64 tmp_qloop_17 = jac_affine_inv_1_0_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_18 = jac_affine_inv_0_0_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_1_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_22 = tmp_qloop_20 + tmp_qloop_21; + const walberla::float64 tmp_qloop_23 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE*tmp_qloop_23 - tmp_qloop_18; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE*tmp_qloop_23 - tmp_qloop_21; + const walberla::float64 tmp_qloop_26 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_0_0_BLUE*tmp_qloop_26 - tmp_qloop_17; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE*tmp_qloop_26 - tmp_qloop_20; + const walberla::float64 tmp_qloop_29 = (tmp_qloop_11*tmp_qloop_11); + const walberla::float64 tmp_qloop_30 = (tmp_qloop_14*tmp_qloop_14); + const walberla::float64 q_tmp_0_0 = tmp_qloop_10*((tmp_qloop_3*tmp_qloop_3) + (tmp_qloop_4*tmp_qloop_4)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_3 + tmp_qloop_13*tmp_qloop_4); + const walberla::float64 q_tmp_0_2 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_3 + tmp_qloop_16*tmp_qloop_4); + const walberla::float64 q_tmp_0_3 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_3 + tmp_qloop_22*tmp_qloop_4); + const walberla::float64 q_tmp_0_4 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_3 + tmp_qloop_25*tmp_qloop_4); + const walberla::float64 q_tmp_0_5 = tmp_qloop_10*(tmp_qloop_27*tmp_qloop_3 + tmp_qloop_28*tmp_qloop_4); + const walberla::float64 q_tmp_1_1 = tmp_qloop_10*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_qloop_29 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_qloop_29); + const walberla::float64 q_tmp_1_2 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_15 + tmp_qloop_13*tmp_qloop_16); + const walberla::float64 q_tmp_1_3 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_19 + tmp_qloop_13*tmp_qloop_22); + const walberla::float64 q_tmp_1_4 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_24 + tmp_qloop_13*tmp_qloop_25); + const walberla::float64 q_tmp_1_5 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_27 + tmp_qloop_13*tmp_qloop_28); + const walberla::float64 q_tmp_2_2 = tmp_qloop_10*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_qloop_30 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_qloop_30); + const walberla::float64 q_tmp_2_3 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_19 + tmp_qloop_16*tmp_qloop_22); + const walberla::float64 q_tmp_2_4 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_24 + tmp_qloop_16*tmp_qloop_25); + const walberla::float64 q_tmp_2_5 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_27 + tmp_qloop_16*tmp_qloop_28); + const walberla::float64 q_tmp_3_3 = tmp_qloop_10*((tmp_qloop_19*tmp_qloop_19) + (tmp_qloop_22*tmp_qloop_22)); + const walberla::float64 q_tmp_3_4 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_24 + tmp_qloop_22*tmp_qloop_25); + const walberla::float64 q_tmp_3_5 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_27 + tmp_qloop_22*tmp_qloop_28); + const walberla::float64 q_tmp_4_4 = tmp_qloop_10*((tmp_qloop_24*tmp_qloop_24) + (tmp_qloop_25*tmp_qloop_25)); + const walberla::float64 q_tmp_4_5 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_27 + tmp_qloop_25*tmp_qloop_28); + const walberla::float64 q_tmp_5_5 = tmp_qloop_10*((tmp_qloop_27*tmp_qloop_27) + (tmp_qloop_28*tmp_qloop_28)); 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; @@ -347,12 +347,12 @@ void P2ElementwiseDivKGrad::apply_macro_2D( real_t * RESTRICT _data_dstEdge, re q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; q_acc_5_5 = q_acc_5_5 + q_tmp_5_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_0_1*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_0_2*src_dof_0 + q_acc_1_2*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; - const real_t elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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; + const walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5; _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; diff --git a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_3D.cpp b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_3D.cpp index 239dde19bf0650ee29396722e9be4c2b21d90f5b..5d1fef506475a1618ca613c466ef774992c988f1 100644 --- a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_3D.cpp +++ b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_apply_macro_3D.cpp @@ -56,286 +56,286 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, real_t * RESTRICT _data_dstVertex, 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 +void P2ElementwiseDivKGrad::apply_macro_3D( walberla::float64 * RESTRICT _data_dstEdge, walberla::float64 * RESTRICT _data_dstVertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 * RESTRICT _data_srcEdge, walberla::float64 * RESTRICT _data_srcVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.041666666666666657, 0.041666666666666657, 0.041666666666666657, 0.041666666666666657}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; + const walberla::float64 _data_q_p_0 [] = {0.1381966011250105, 0.1381966011250105, 0.5854101966249684, 0.1381966011250105}; - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; + const walberla::float64 _data_q_p_1 [] = {0.1381966011250105, 0.5854101966249684, 0.1381966011250105, 0.1381966011250105}; - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; + const walberla::float64 _data_q_p_2 [] = {0.5854101966249684, 0.1381966011250105, 0.1381966011250105, 0.1381966011250105}; - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_WHITE_UP*tmp_q_4 + jac_affine_inv_1_0_WHITE_UP*tmp_q_4 + jac_affine_inv_2_0_WHITE_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_WHITE_UP*tmp_q_4 + jac_affine_inv_1_1_WHITE_UP*tmp_q_4 + jac_affine_inv_2_1_WHITE_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_WHITE_UP*tmp_q_4 + jac_affine_inv_1_2_WHITE_UP*tmp_q_4 + jac_affine_inv_2_2_WHITE_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_WHITE_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_WHITE_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_WHITE_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_WHITE_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_WHITE_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_WHITE_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_WHITE_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_WHITE_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_WHITE_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_WHITE_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_WHITE_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_WHITE_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_WHITE_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_WHITE_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_WHITE_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_WHITE_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_WHITE_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_WHITE_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_WHITE_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_WHITE_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_WHITE_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_WHITE_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_WHITE_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_WHITE_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_WHITE_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_WHITE_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_WHITE_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_WHITE_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_WHITE_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_WHITE_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_WHITE_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_WHITE_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_WHITE_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_WHITE_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_WHITE_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_WHITE_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_q_71 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_q_71 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_q_72 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_q_72 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_q_73 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_q_73 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_WHITE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_WHITE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_WHITE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_WHITE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_WHITE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_WHITE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_WHITE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_WHITE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_WHITE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_WHITE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_WHITE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_WHITE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -392,16 +392,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; @@ -414,287 +414,287 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_9 + _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -751,16 +751,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -773,281 +773,281 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatVec_9 + _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_BLUE_UP*tmp_q_4 + jac_affine_inv_1_0_BLUE_UP*tmp_q_4 + jac_affine_inv_2_0_BLUE_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_BLUE_UP*tmp_q_4 + jac_affine_inv_1_1_BLUE_UP*tmp_q_4 + jac_affine_inv_2_1_BLUE_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_BLUE_UP*tmp_q_4 + jac_affine_inv_1_2_BLUE_UP*tmp_q_4 + jac_affine_inv_2_2_BLUE_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_BLUE_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_BLUE_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_BLUE_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_BLUE_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_BLUE_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_BLUE_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_BLUE_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_BLUE_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_BLUE_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_BLUE_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_BLUE_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_BLUE_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_BLUE_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_BLUE_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_BLUE_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_BLUE_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_BLUE_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_BLUE_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_BLUE_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_BLUE_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_BLUE_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_BLUE_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_BLUE_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_BLUE_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_BLUE_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_BLUE_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_BLUE_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_BLUE_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_BLUE_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_BLUE_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_BLUE_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_BLUE_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_BLUE_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_q_71 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_q_71 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_q_72 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_q_72 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_q_73 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_q_73 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_BLUE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_BLUE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_BLUE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_BLUE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_BLUE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_BLUE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_BLUE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_BLUE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_BLUE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_BLUE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_BLUE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_BLUE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -1104,16 +1104,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -1126,284 +1126,284 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_9 + _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -1460,16 +1460,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -1482,281 +1482,281 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_9 + _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_GREEN_UP*tmp_q_4 + jac_affine_inv_1_0_GREEN_UP*tmp_q_4 + jac_affine_inv_2_0_GREEN_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_GREEN_UP*tmp_q_4 + jac_affine_inv_1_1_GREEN_UP*tmp_q_4 + jac_affine_inv_2_1_GREEN_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_GREEN_UP*tmp_q_4 + jac_affine_inv_1_2_GREEN_UP*tmp_q_4 + jac_affine_inv_2_2_GREEN_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_GREEN_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_GREEN_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_GREEN_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GREEN_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_GREEN_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_GREEN_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_GREEN_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_GREEN_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_GREEN_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_GREEN_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_GREEN_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_GREEN_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_GREEN_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_GREEN_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_GREEN_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_GREEN_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_GREEN_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_GREEN_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_GREEN_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_GREEN_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_GREEN_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_GREEN_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_GREEN_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_GREEN_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_GREEN_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_GREEN_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_GREEN_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_GREEN_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_GREEN_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_GREEN_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_GREEN_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_GREEN_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_GREEN_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_GREEN_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_GREEN_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_GREEN_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_q_71 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_q_71 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_q_72 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_q_72 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_q_73 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_q_73 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_GREEN_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_GREEN_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_GREEN_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_GREEN_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_GREEN_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_GREEN_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_GREEN_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_GREEN_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_GREEN_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_GREEN_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_GREEN_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_GREEN_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -1813,16 +1813,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_0 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_2 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -1835,284 +1835,284 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatVec_9 + _data_dstEdge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -2169,16 +2169,16 @@ void P2ElementwiseDivKGrad::apply_macro_3D( real_t * RESTRICT _data_dstEdge, re q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatVec_0 = q_acc_0_0*src_dof_0 + q_acc_0_1*src_dof_1 + q_acc_0_2*src_dof_2 + q_acc_0_3*src_dof_3 + q_acc_0_4*src_dof_4 + q_acc_0_5*src_dof_5 + q_acc_0_6*src_dof_6 + q_acc_0_7*src_dof_7 + q_acc_0_8*src_dof_8 + q_acc_0_9*src_dof_9; - const real_t elMatVec_1 = q_acc_0_1*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_0_2*src_dof_0 + q_acc_1_2*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_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; - const real_t elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; - const real_t elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; - const real_t elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; - const real_t elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; - const real_t elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; - const real_t elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; + const walberla::float64 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 walberla::float64 elMatVec_1 = q_acc_0_1*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 walberla::float64 elMatVec_2 = q_acc_0_2*src_dof_0 + q_acc_1_2*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 walberla::float64 elMatVec_3 = q_acc_0_3*src_dof_0 + q_acc_1_3*src_dof_1 + q_acc_2_3*src_dof_2 + q_acc_3_3*src_dof_3 + q_acc_3_4*src_dof_4 + q_acc_3_5*src_dof_5 + q_acc_3_6*src_dof_6 + q_acc_3_7*src_dof_7 + q_acc_3_8*src_dof_8 + q_acc_3_9*src_dof_9; + const walberla::float64 elMatVec_4 = q_acc_0_4*src_dof_0 + q_acc_1_4*src_dof_1 + q_acc_2_4*src_dof_2 + q_acc_3_4*src_dof_3 + q_acc_4_4*src_dof_4 + q_acc_4_5*src_dof_5 + q_acc_4_6*src_dof_6 + q_acc_4_7*src_dof_7 + q_acc_4_8*src_dof_8 + q_acc_4_9*src_dof_9; + const walberla::float64 elMatVec_5 = q_acc_0_5*src_dof_0 + q_acc_1_5*src_dof_1 + q_acc_2_5*src_dof_2 + q_acc_3_5*src_dof_3 + q_acc_4_5*src_dof_4 + q_acc_5_5*src_dof_5 + q_acc_5_6*src_dof_6 + q_acc_5_7*src_dof_7 + q_acc_5_8*src_dof_8 + q_acc_5_9*src_dof_9; + const walberla::float64 elMatVec_6 = q_acc_0_6*src_dof_0 + q_acc_1_6*src_dof_1 + q_acc_2_6*src_dof_2 + q_acc_3_6*src_dof_3 + q_acc_4_6*src_dof_4 + q_acc_5_6*src_dof_5 + q_acc_6_6*src_dof_6 + q_acc_6_7*src_dof_7 + q_acc_6_8*src_dof_8 + q_acc_6_9*src_dof_9; + const walberla::float64 elMatVec_7 = q_acc_0_7*src_dof_0 + q_acc_1_7*src_dof_1 + q_acc_2_7*src_dof_2 + q_acc_3_7*src_dof_3 + q_acc_4_7*src_dof_4 + q_acc_5_7*src_dof_5 + q_acc_6_7*src_dof_6 + q_acc_7_7*src_dof_7 + q_acc_7_8*src_dof_8 + q_acc_7_9*src_dof_9; + const walberla::float64 elMatVec_8 = q_acc_0_8*src_dof_0 + q_acc_1_8*src_dof_1 + q_acc_2_8*src_dof_2 + q_acc_3_8*src_dof_3 + q_acc_4_8*src_dof_4 + q_acc_5_8*src_dof_5 + q_acc_6_8*src_dof_6 + q_acc_7_8*src_dof_7 + q_acc_8_8*src_dof_8 + q_acc_8_9*src_dof_9; + const walberla::float64 elMatVec_9 = q_acc_0_9*src_dof_0 + q_acc_1_9*src_dof_1 + q_acc_2_9*src_dof_2 + q_acc_3_9*src_dof_3 + q_acc_4_9*src_dof_4 + q_acc_5_9*src_dof_5 + q_acc_6_9*src_dof_6 + q_acc_7_9*src_dof_7 + q_acc_8_9*src_dof_8 + q_acc_9_9*src_dof_9; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; diff --git a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp index bd8caecf57387cb912b88cb57dddb43964624e72..1a1be489a774e166760c4b7a7df2511726b80775 100644 --- a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp +++ b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_2D.cpp @@ -56,75 +56,75 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_t * RESTRICT _data_invDiag_Edge, real_t * RESTRICT _data_invDiag_Vertex, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, 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 +void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( walberla::float64 * RESTRICT _data_invDiag_Edge, walberla::float64 * RESTRICT _data_invDiag_Vertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; + const walberla::float64 _data_q_p_0 [] = {0.16666666666666666, 0.66666666666666663, 0.16666666666666666}; - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; + const walberla::float64 _data_q_p_1 [] = {0.66666666666666663, 0.16666666666666666, 0.16666666666666666}; - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_4 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_5 = tmp_q_4*2.0; - const real_t tmp_q_6 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_q_3 + tmp_q_5 + tmp_q_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_5 - _data_q_p_0[q]) + k_dof_2*(tmp_q_7 - _data_q_p_1[q]) + k_dof_3*tmp_q_3 + k_dof_4*(tmp_q_1 - tmp_q_3 + tmp_q_6*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_3 + tmp_q_4*-4.0))*_data_q_w[q]; - const real_t tmp_q_9 = ((tmp_q_0 - 1.0)*(tmp_q_0 - 1.0)); - const real_t tmp_q_10 = ((tmp_q_1 - 1.0)*(tmp_q_1 - 1.0)); - const real_t tmp_q_11 = jac_affine_inv_1_0_GRAY*tmp_q_0; - const real_t tmp_q_12 = jac_affine_inv_0_0_GRAY*tmp_q_1; - const real_t tmp_q_13 = jac_affine_inv_1_1_GRAY*tmp_q_0; - const real_t tmp_q_14 = jac_affine_inv_0_1_GRAY*tmp_q_1; - const real_t tmp_q_15 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_16 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t q_tmp_0_0 = tmp_q_8*(((jac_affine_inv_0_0_GRAY*tmp_q_2 + jac_affine_inv_1_0_GRAY*tmp_q_2)*(jac_affine_inv_0_0_GRAY*tmp_q_2 + jac_affine_inv_1_0_GRAY*tmp_q_2)) + ((jac_affine_inv_0_1_GRAY*tmp_q_2 + jac_affine_inv_1_1_GRAY*tmp_q_2)*(jac_affine_inv_0_1_GRAY*tmp_q_2 + jac_affine_inv_1_1_GRAY*tmp_q_2))); - const real_t q_tmp_1_1 = tmp_q_8*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_q_9 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_q_9); - const real_t q_tmp_2_2 = tmp_q_8*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_q_10 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_q_10); - const real_t q_tmp_3_3 = tmp_q_8*(((tmp_q_11 + tmp_q_12)*(tmp_q_11 + tmp_q_12)) + ((tmp_q_13 + tmp_q_14)*(tmp_q_13 + tmp_q_14))); - const real_t q_tmp_4_4 = tmp_q_8*(((jac_affine_inv_1_0_GRAY*tmp_q_15 - tmp_q_12)*(jac_affine_inv_1_0_GRAY*tmp_q_15 - tmp_q_12)) + ((jac_affine_inv_1_1_GRAY*tmp_q_15 - tmp_q_14)*(jac_affine_inv_1_1_GRAY*tmp_q_15 - tmp_q_14))); - const real_t q_tmp_5_5 = tmp_q_8*(((jac_affine_inv_0_0_GRAY*tmp_q_16 - tmp_q_11)*(jac_affine_inv_0_0_GRAY*tmp_q_16 - tmp_q_11)) + ((jac_affine_inv_0_1_GRAY*tmp_q_16 - tmp_q_13)*(jac_affine_inv_0_1_GRAY*tmp_q_16 - tmp_q_13))); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_5 = tmp_qloop_4*2.0; + const walberla::float64 tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[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_3 + k_dof_4*(tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_3 + tmp_qloop_4*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_9 = ((tmp_qloop_0 - 1.0)*(tmp_qloop_0 - 1.0)); + const walberla::float64 tmp_qloop_10 = ((tmp_qloop_1 - 1.0)*(tmp_qloop_1 - 1.0)); + const walberla::float64 tmp_qloop_11 = jac_affine_inv_1_0_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_1_1_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_14 = jac_affine_inv_0_1_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_15 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_16 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 q_tmp_0_0 = tmp_qloop_8*(((jac_affine_inv_0_0_GRAY*tmp_qloop_2 + jac_affine_inv_1_0_GRAY*tmp_qloop_2)*(jac_affine_inv_0_0_GRAY*tmp_qloop_2 + jac_affine_inv_1_0_GRAY*tmp_qloop_2)) + ((jac_affine_inv_0_1_GRAY*tmp_qloop_2 + jac_affine_inv_1_1_GRAY*tmp_qloop_2)*(jac_affine_inv_0_1_GRAY*tmp_qloop_2 + jac_affine_inv_1_1_GRAY*tmp_qloop_2))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_8*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_qloop_9 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_qloop_9); + const walberla::float64 q_tmp_2_2 = tmp_qloop_8*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_qloop_10 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_qloop_10); + const walberla::float64 q_tmp_3_3 = tmp_qloop_8*(((tmp_qloop_11 + tmp_qloop_12)*(tmp_qloop_11 + tmp_qloop_12)) + ((tmp_qloop_13 + tmp_qloop_14)*(tmp_qloop_13 + tmp_qloop_14))); + const walberla::float64 q_tmp_4_4 = tmp_qloop_8*(((jac_affine_inv_1_0_GRAY*tmp_qloop_15 - tmp_qloop_12)*(jac_affine_inv_1_0_GRAY*tmp_qloop_15 - tmp_qloop_12)) + ((jac_affine_inv_1_1_GRAY*tmp_qloop_15 - tmp_qloop_14)*(jac_affine_inv_1_1_GRAY*tmp_qloop_15 - tmp_qloop_14))); + const walberla::float64 q_tmp_5_5 = tmp_qloop_8*(((jac_affine_inv_0_0_GRAY*tmp_qloop_16 - tmp_qloop_11)*(jac_affine_inv_0_0_GRAY*tmp_qloop_16 - tmp_qloop_11)) + ((jac_affine_inv_0_1_GRAY*tmp_qloop_16 - tmp_qloop_13)*(jac_affine_inv_0_1_GRAY*tmp_qloop_16 - tmp_qloop_13))); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -132,12 +132,12 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; @@ -146,70 +146,70 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ _data_invDiag_Edge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))] = elMatDiag_5 + _data_invDiag_Edge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_4 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_5 = tmp_q_4*2.0; - const real_t tmp_q_6 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_q_3 + tmp_q_5 + tmp_q_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_5 - _data_q_p_0[q]) + k_dof_2*(tmp_q_7 - _data_q_p_1[q]) + k_dof_3*tmp_q_3 + k_dof_4*(tmp_q_1 - tmp_q_3 + tmp_q_6*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_3 + tmp_q_4*-4.0))*_data_q_w[q]; - const real_t tmp_q_9 = ((tmp_q_0 - 1.0)*(tmp_q_0 - 1.0)); - const real_t tmp_q_10 = ((tmp_q_1 - 1.0)*(tmp_q_1 - 1.0)); - const real_t tmp_q_11 = jac_affine_inv_1_0_BLUE*tmp_q_0; - const real_t tmp_q_12 = jac_affine_inv_0_0_BLUE*tmp_q_1; - const real_t tmp_q_13 = jac_affine_inv_1_1_BLUE*tmp_q_0; - const real_t tmp_q_14 = jac_affine_inv_0_1_BLUE*tmp_q_1; - const real_t tmp_q_15 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_16 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t q_tmp_0_0 = tmp_q_8*(((jac_affine_inv_0_0_BLUE*tmp_q_2 + jac_affine_inv_1_0_BLUE*tmp_q_2)*(jac_affine_inv_0_0_BLUE*tmp_q_2 + jac_affine_inv_1_0_BLUE*tmp_q_2)) + ((jac_affine_inv_0_1_BLUE*tmp_q_2 + jac_affine_inv_1_1_BLUE*tmp_q_2)*(jac_affine_inv_0_1_BLUE*tmp_q_2 + jac_affine_inv_1_1_BLUE*tmp_q_2))); - const real_t q_tmp_1_1 = tmp_q_8*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_q_9 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_q_9); - const real_t q_tmp_2_2 = tmp_q_8*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_q_10 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_q_10); - const real_t q_tmp_3_3 = tmp_q_8*(((tmp_q_11 + tmp_q_12)*(tmp_q_11 + tmp_q_12)) + ((tmp_q_13 + tmp_q_14)*(tmp_q_13 + tmp_q_14))); - const real_t q_tmp_4_4 = tmp_q_8*(((jac_affine_inv_1_0_BLUE*tmp_q_15 - tmp_q_12)*(jac_affine_inv_1_0_BLUE*tmp_q_15 - tmp_q_12)) + ((jac_affine_inv_1_1_BLUE*tmp_q_15 - tmp_q_14)*(jac_affine_inv_1_1_BLUE*tmp_q_15 - tmp_q_14))); - const real_t q_tmp_5_5 = tmp_q_8*(((jac_affine_inv_0_0_BLUE*tmp_q_16 - tmp_q_11)*(jac_affine_inv_0_0_BLUE*tmp_q_16 - tmp_q_11)) + ((jac_affine_inv_0_1_BLUE*tmp_q_16 - tmp_q_13)*(jac_affine_inv_0_1_BLUE*tmp_q_16 - tmp_q_13))); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_4 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_5 = tmp_qloop_4*2.0; + const walberla::float64 tmp_qloop_6 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_qloop_3 + tmp_qloop_5 + tmp_qloop_7 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[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_3 + k_dof_4*(tmp_qloop_1 - tmp_qloop_3 + tmp_qloop_6*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_3 + tmp_qloop_4*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_9 = ((tmp_qloop_0 - 1.0)*(tmp_qloop_0 - 1.0)); + const walberla::float64 tmp_qloop_10 = ((tmp_qloop_1 - 1.0)*(tmp_qloop_1 - 1.0)); + const walberla::float64 tmp_qloop_11 = jac_affine_inv_1_0_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_1_1_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_14 = jac_affine_inv_0_1_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_15 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_16 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 q_tmp_0_0 = tmp_qloop_8*(((jac_affine_inv_0_0_BLUE*tmp_qloop_2 + jac_affine_inv_1_0_BLUE*tmp_qloop_2)*(jac_affine_inv_0_0_BLUE*tmp_qloop_2 + jac_affine_inv_1_0_BLUE*tmp_qloop_2)) + ((jac_affine_inv_0_1_BLUE*tmp_qloop_2 + jac_affine_inv_1_1_BLUE*tmp_qloop_2)*(jac_affine_inv_0_1_BLUE*tmp_qloop_2 + jac_affine_inv_1_1_BLUE*tmp_qloop_2))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_8*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_qloop_9 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_qloop_9); + const walberla::float64 q_tmp_2_2 = tmp_qloop_8*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_qloop_10 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_qloop_10); + const walberla::float64 q_tmp_3_3 = tmp_qloop_8*(((tmp_qloop_11 + tmp_qloop_12)*(tmp_qloop_11 + tmp_qloop_12)) + ((tmp_qloop_13 + tmp_qloop_14)*(tmp_qloop_13 + tmp_qloop_14))); + const walberla::float64 q_tmp_4_4 = tmp_qloop_8*(((jac_affine_inv_1_0_BLUE*tmp_qloop_15 - tmp_qloop_12)*(jac_affine_inv_1_0_BLUE*tmp_qloop_15 - tmp_qloop_12)) + ((jac_affine_inv_1_1_BLUE*tmp_qloop_15 - tmp_qloop_14)*(jac_affine_inv_1_1_BLUE*tmp_qloop_15 - tmp_qloop_14))); + const walberla::float64 q_tmp_5_5 = tmp_qloop_8*(((jac_affine_inv_0_0_BLUE*tmp_qloop_16 - tmp_qloop_11)*(jac_affine_inv_0_0_BLUE*tmp_qloop_16 - tmp_qloop_11)) + ((jac_affine_inv_0_1_BLUE*tmp_qloop_16 - tmp_qloop_13)*(jac_affine_inv_0_1_BLUE*tmp_qloop_16 - tmp_qloop_13))); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -217,12 +217,12 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_2D( real_ q_acc_4_4 = q_acc_4_4 + q_tmp_4_4; q_acc_5_5 = q_acc_5_5 + q_tmp_5_5; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; diff --git a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp index 8118dcedc2d003798ce11586de28343e28d51a46..20eb99906d24793b4c03dcf17d1858b5c9c9ab63 100644 --- a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp +++ b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -56,135 +56,135 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_t * RESTRICT _data_invDiag_Edge, real_t * RESTRICT _data_invDiag_Vertex, real_t * RESTRICT _data_kEdge, real_t * RESTRICT _data_kVertex, 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 +void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( walberla::float64 * RESTRICT _data_invDiag_Edge, walberla::float64 * RESTRICT _data_invDiag_Vertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.041666666666666657, 0.041666666666666657, 0.041666666666666657, 0.041666666666666657}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; + const walberla::float64 _data_q_p_0 [] = {0.1381966011250105, 0.1381966011250105, 0.5854101966249684, 0.1381966011250105}; - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; + const walberla::float64 _data_q_p_1 [] = {0.1381966011250105, 0.5854101966249684, 0.1381966011250105, 0.1381966011250105}; - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; + const walberla::float64 _data_q_p_2 [] = {0.5854101966249684, 0.1381966011250105, 0.1381966011250105, 0.1381966011250105}; - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) { - const 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_q_4 + jac_affine_inv_1_0_WHITE_UP*tmp_q_4 + jac_affine_inv_2_0_WHITE_UP*tmp_q_4)*(jac_affine_inv_0_0_WHITE_UP*tmp_q_4 + jac_affine_inv_1_0_WHITE_UP*tmp_q_4 + jac_affine_inv_2_0_WHITE_UP*tmp_q_4)) + ((jac_affine_inv_0_1_WHITE_UP*tmp_q_4 + jac_affine_inv_1_1_WHITE_UP*tmp_q_4 + jac_affine_inv_2_1_WHITE_UP*tmp_q_4)*(jac_affine_inv_0_1_WHITE_UP*tmp_q_4 + jac_affine_inv_1_1_WHITE_UP*tmp_q_4 + jac_affine_inv_2_1_WHITE_UP*tmp_q_4)) + ((jac_affine_inv_0_2_WHITE_UP*tmp_q_4 + jac_affine_inv_1_2_WHITE_UP*tmp_q_4 + jac_affine_inv_2_2_WHITE_UP*tmp_q_4)*(jac_affine_inv_0_2_WHITE_UP*tmp_q_4 + jac_affine_inv_1_2_WHITE_UP*tmp_q_4 + jac_affine_inv_2_2_WHITE_UP*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_q_16 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_q_16 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_q_17 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_q_17 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_q_18 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_q_18 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_WHITE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_WHITE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_WHITE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_WHITE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_WHITE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_WHITE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_WHITE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_WHITE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_WHITE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_WHITE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_WHITE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4)*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4)*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_qloop_16 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_qloop_16 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_qloop_17 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_qloop_17 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_qloop_18 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_qloop_18 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -196,16 +196,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; @@ -218,136 +218,136 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_9 + _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + ((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) { - const 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_q_4)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_q_4)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_q_4)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_q_16 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_q_16 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_q_17 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_q_17 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_q_18 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_q_18 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -359,16 +359,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -381,130 +381,130 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1] = elMatDiag_9 + _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + 1]; } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_q_4 + jac_affine_inv_1_0_BLUE_UP*tmp_q_4 + jac_affine_inv_2_0_BLUE_UP*tmp_q_4)*(jac_affine_inv_0_0_BLUE_UP*tmp_q_4 + jac_affine_inv_1_0_BLUE_UP*tmp_q_4 + jac_affine_inv_2_0_BLUE_UP*tmp_q_4)) + ((jac_affine_inv_0_1_BLUE_UP*tmp_q_4 + jac_affine_inv_1_1_BLUE_UP*tmp_q_4 + jac_affine_inv_2_1_BLUE_UP*tmp_q_4)*(jac_affine_inv_0_1_BLUE_UP*tmp_q_4 + jac_affine_inv_1_1_BLUE_UP*tmp_q_4 + jac_affine_inv_2_1_BLUE_UP*tmp_q_4)) + ((jac_affine_inv_0_2_BLUE_UP*tmp_q_4 + jac_affine_inv_1_2_BLUE_UP*tmp_q_4 + jac_affine_inv_2_2_BLUE_UP*tmp_q_4)*(jac_affine_inv_0_2_BLUE_UP*tmp_q_4 + jac_affine_inv_1_2_BLUE_UP*tmp_q_4 + jac_affine_inv_2_2_BLUE_UP*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_q_16 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_q_16 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_q_17 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_q_17 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_q_18 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_q_18 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_BLUE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_BLUE_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_BLUE_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_BLUE_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_BLUE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_BLUE_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_BLUE_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_BLUE_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_BLUE_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_BLUE_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_BLUE_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4)*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4)) + ((jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4)*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_qloop_16 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_qloop_16 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_qloop_17 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_qloop_17 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_qloop_18 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_qloop_18 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -516,16 +516,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -538,133 +538,133 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_9 + _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_q_4)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_q_4)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_q_4)) + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_q_4)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_q_16 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_q_16 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_q_17 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_q_17 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_q_18 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_q_18 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -676,16 +676,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; @@ -698,130 +698,130 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_9 + _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 6*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_q_4 + jac_affine_inv_1_0_GREEN_UP*tmp_q_4 + jac_affine_inv_2_0_GREEN_UP*tmp_q_4)*(jac_affine_inv_0_0_GREEN_UP*tmp_q_4 + jac_affine_inv_1_0_GREEN_UP*tmp_q_4 + jac_affine_inv_2_0_GREEN_UP*tmp_q_4)) + ((jac_affine_inv_0_1_GREEN_UP*tmp_q_4 + jac_affine_inv_1_1_GREEN_UP*tmp_q_4 + jac_affine_inv_2_1_GREEN_UP*tmp_q_4)*(jac_affine_inv_0_1_GREEN_UP*tmp_q_4 + jac_affine_inv_1_1_GREEN_UP*tmp_q_4 + jac_affine_inv_2_1_GREEN_UP*tmp_q_4)) + ((jac_affine_inv_0_2_GREEN_UP*tmp_q_4 + jac_affine_inv_1_2_GREEN_UP*tmp_q_4 + jac_affine_inv_2_2_GREEN_UP*tmp_q_4)*(jac_affine_inv_0_2_GREEN_UP*tmp_q_4 + jac_affine_inv_1_2_GREEN_UP*tmp_q_4 + jac_affine_inv_2_2_GREEN_UP*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_q_16 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_q_16 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_q_17 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_q_17 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_q_18 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_q_18 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_GREEN_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_GREEN_UP*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_GREEN_UP*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_GREEN_UP*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_GREEN_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_GREEN_UP*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_GREEN_UP*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_GREEN_UP*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_GREEN_UP*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_GREEN_UP*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_GREEN_UP*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4)) + ((jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4)*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4)) + ((jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4)*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_qloop_16 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_qloop_16 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_qloop_17 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_qloop_17 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_qloop_18 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_qloop_18 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -833,16 +833,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; @@ -855,133 +855,133 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))] = elMatDiag_9 + _data_invDiag_Edge[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) + 4*((micro_edges_per_macro_edge*(micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6))]; } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_1_1 = 0.0; - real_t q_acc_2_2 = 0.0; - real_t q_acc_3_3 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_6 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_7 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_8 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_11 = tmp_q_10*2.0; - const real_t tmp_q_12 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_13 = tmp_q_12*2.0; - const real_t tmp_q_14 = tmp_q_5 + tmp_q_6; - const real_t tmp_q_15 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_q_11 + tmp_q_13 + tmp_q_14 + tmp_q_7 + tmp_q_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_q_9 - _data_q_p_0[q]) + k_dof_2*(tmp_q_11 - _data_q_p_1[q]) + k_dof_3*(tmp_q_13 - _data_q_p_2[q]) + k_dof_4*tmp_q_7 + k_dof_5*tmp_q_6 + k_dof_6*tmp_q_5 + k_dof_7*(tmp_q_0 + tmp_q_12*-4.0 - tmp_q_6 - tmp_q_7) + k_dof_8*(tmp_q_10*-4.0 + tmp_q_2 - tmp_q_5 - tmp_q_7) + k_dof_9*(tmp_q_1 - tmp_q_14 + tmp_q_8*-4.0))*_data_q_w[q]; - const real_t tmp_q_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_19 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_20 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_21 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_22 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_23 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_24 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_25 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_26 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_27 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_28 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_29 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_30 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_31 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_32 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_33 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_34 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_35 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_36 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_37 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_38 = tmp_q_0 - 4.0; - const real_t tmp_q_39 = -tmp_q_1 - tmp_q_38 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_40 = -tmp_q_2 - tmp_q_38 - 8.0*_data_q_p_0[q]; - const real_t q_tmp_0_0 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_q_4)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_q_4)) + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_q_4)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_q_4)) + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_q_4)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_q_4))); - const real_t q_tmp_1_1 = tmp_q_15*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_q_16 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_q_16 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_q_16); - const real_t q_tmp_2_2 = tmp_q_15*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_q_17 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_q_17 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_q_17); - const real_t q_tmp_3_3 = tmp_q_15*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_q_18 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_q_18 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_q_18); - const real_t q_tmp_4_4 = tmp_q_15*(((tmp_q_19 + tmp_q_20)*(tmp_q_19 + tmp_q_20))*16.0 + ((tmp_q_21 + tmp_q_22)*(tmp_q_21 + tmp_q_22))*16.0 + ((tmp_q_23 + tmp_q_24)*(tmp_q_23 + tmp_q_24))*16.0); - const real_t q_tmp_5_5 = tmp_q_15*(((tmp_q_25 + tmp_q_26)*(tmp_q_25 + tmp_q_26))*16.0 + ((tmp_q_27 + tmp_q_28)*(tmp_q_27 + tmp_q_28))*16.0 + ((tmp_q_29 + tmp_q_30)*(tmp_q_29 + tmp_q_30))*16.0); - const real_t q_tmp_6_6 = tmp_q_15*(((tmp_q_31 + tmp_q_32)*(tmp_q_31 + tmp_q_32))*16.0 + ((tmp_q_33 + tmp_q_34)*(tmp_q_33 + tmp_q_34))*16.0 + ((tmp_q_35 + tmp_q_36)*(tmp_q_35 + tmp_q_36))*16.0); - const real_t q_tmp_7_7 = tmp_q_15*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_20 - tmp_q_26))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_22 - tmp_q_28))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_q_37*0.25 - tmp_q_24 - tmp_q_30))*16.0); - const real_t q_tmp_8_8 = tmp_q_15*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_19 - tmp_q_32))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_21 - tmp_q_34))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_q_39*0.25 - tmp_q_23 - tmp_q_36))*16.0); - const real_t q_tmp_9_9 = tmp_q_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_25 - tmp_q_31))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_27 - tmp_q_33))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_q_40*0.25 - tmp_q_29 - tmp_q_35))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_7 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_8 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_11 = tmp_qloop_10*2.0; + const walberla::float64 tmp_qloop_12 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_13 = tmp_qloop_12*2.0; + const walberla::float64 tmp_qloop_14 = tmp_qloop_5 + tmp_qloop_6; + const walberla::float64 tmp_qloop_15 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_qloop_11 + tmp_qloop_13 + tmp_qloop_14 + 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_9 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_11 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_13 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_7 + k_dof_5*tmp_qloop_6 + k_dof_6*tmp_qloop_5 + k_dof_7*(tmp_qloop_0 + tmp_qloop_12*-4.0 - tmp_qloop_6 - tmp_qloop_7) + k_dof_8*(tmp_qloop_10*-4.0 + tmp_qloop_2 - tmp_qloop_5 - tmp_qloop_7) + k_dof_9*(tmp_qloop_1 - tmp_qloop_14 + tmp_qloop_8*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_16 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_17 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_18 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_19 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_23 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_33 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_36 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_37 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_38 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_39 = -tmp_qloop_1 - tmp_qloop_38 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_40 = -tmp_qloop_2 - tmp_qloop_38 - 8.0*_data_q_p_0[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4)) + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4))); + const walberla::float64 q_tmp_1_1 = tmp_qloop_15*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_qloop_16 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_qloop_16); + const walberla::float64 q_tmp_2_2 = tmp_qloop_15*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_qloop_17 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_qloop_17); + const walberla::float64 q_tmp_3_3 = tmp_qloop_15*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_qloop_18 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_qloop_18); + const walberla::float64 q_tmp_4_4 = tmp_qloop_15*(((tmp_qloop_19 + tmp_qloop_20)*(tmp_qloop_19 + tmp_qloop_20))*16.0 + ((tmp_qloop_21 + tmp_qloop_22)*(tmp_qloop_21 + tmp_qloop_22))*16.0 + ((tmp_qloop_23 + tmp_qloop_24)*(tmp_qloop_23 + tmp_qloop_24))*16.0); + const walberla::float64 q_tmp_5_5 = tmp_qloop_15*(((tmp_qloop_25 + tmp_qloop_26)*(tmp_qloop_25 + tmp_qloop_26))*16.0 + ((tmp_qloop_27 + tmp_qloop_28)*(tmp_qloop_27 + tmp_qloop_28))*16.0 + ((tmp_qloop_29 + tmp_qloop_30)*(tmp_qloop_29 + tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_6_6 = tmp_qloop_15*(((tmp_qloop_31 + tmp_qloop_32)*(tmp_qloop_31 + tmp_qloop_32))*16.0 + ((tmp_qloop_33 + tmp_qloop_34)*(tmp_qloop_33 + tmp_qloop_34))*16.0 + ((tmp_qloop_35 + tmp_qloop_36)*(tmp_qloop_35 + tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_7_7 = tmp_qloop_15*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_20 - tmp_qloop_26))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_22 - tmp_qloop_28))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_37*0.25 - tmp_qloop_24 - tmp_qloop_30))*16.0); + const walberla::float64 q_tmp_8_8 = tmp_qloop_15*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_19 - tmp_qloop_32))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_21 - tmp_qloop_34))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_39*0.25 - tmp_qloop_23 - tmp_qloop_36))*16.0); + const walberla::float64 q_tmp_9_9 = tmp_qloop_15*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_25 - tmp_qloop_31))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_27 - tmp_qloop_33))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_40*0.25 - tmp_qloop_29 - tmp_qloop_35))*16.0); q_acc_0_0 = q_acc_0_0 + q_tmp_0_0; q_acc_1_1 = q_acc_1_1 + q_tmp_1_1; q_acc_2_2 = q_acc_2_2 + q_tmp_2_2; @@ -993,16 +993,16 @@ void P2ElementwiseDivKGrad::computeInverseDiagonalOperatorValues_macro_3D( real_ q_acc_8_8 = q_acc_8_8 + q_tmp_8_8; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMatDiag_0 = q_acc_0_0; - const real_t elMatDiag_1 = q_acc_1_1; - const real_t elMatDiag_2 = q_acc_2_2; - const real_t elMatDiag_3 = q_acc_3_3; - const real_t elMatDiag_4 = q_acc_4_4; - const real_t elMatDiag_5 = q_acc_5_5; - const real_t elMatDiag_6 = q_acc_6_6; - const real_t elMatDiag_7 = q_acc_7_7; - const real_t elMatDiag_8 = q_acc_8_8; - const real_t elMatDiag_9 = q_acc_9_9; + const walberla::float64 elMatDiag_0 = q_acc_0_0; + const walberla::float64 elMatDiag_1 = q_acc_1_1; + const walberla::float64 elMatDiag_2 = q_acc_2_2; + const walberla::float64 elMatDiag_3 = q_acc_3_3; + const walberla::float64 elMatDiag_4 = q_acc_4_4; + const walberla::float64 elMatDiag_5 = q_acc_5_5; + const walberla::float64 elMatDiag_6 = q_acc_6_6; + const walberla::float64 elMatDiag_7 = q_acc_7_7; + const walberla::float64 elMatDiag_8 = q_acc_8_8; + const walberla::float64 elMatDiag_9 = q_acc_9_9; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatDiag_0 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_1 + _data_invDiag_Vertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatDiag_2 + _data_invDiag_Vertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; diff --git a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_2D.cpp b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_2D.cpp index d8ebd004026501814c5e6353a5f7aa08201f1518..212b5d86c518477164e60ea962bc38225b85d3d4 100644 --- a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_2D.cpp +++ b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_2D.cpp @@ -56,119 +56,119 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dstEdge, idx_t * RESTRICT _data_dstVertex, 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 +void P2ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dstEdge, idx_t * RESTRICT _data_dstVertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, idx_t * RESTRICT _data_srcEdge, idx_t * RESTRICT _data_srcVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + const walberla::float64 _data_q_w [] = {0.16666666666666666, 0.16666666666666666, 0.16666666666666666}; - const real_t _data_q_p_0 [] = {0.16666666666666674, 0.66666666666666674, 0.16666666666666663}; + const walberla::float64 _data_q_p_0 [] = {0.16666666666666666, 0.66666666666666663, 0.16666666666666666}; - const real_t _data_q_p_1 [] = {0.16666666666666663, 0.16666666666666663, 0.66666666666666685}; + const walberla::float64 _data_q_p_1 [] = {0.66666666666666663, 0.16666666666666666, 0.16666666666666666}; - const real_t tmp_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_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_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_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_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 tmp_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; - const real_t tmp_2_GRAY = 1.0 / (tmp_1_GRAY); - const real_t jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_2_GRAY; - const real_t jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_2_GRAY; - const real_t abs_det_jac_affine_GRAY = abs(tmp_1_GRAY); + const walberla::float64 tmp_coords_jac_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_GRAY = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_GRAY = macro_vertex_coord_id_0comp1; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_1_0_GRAY; + const walberla::float64 jac_affine_0_1_GRAY = -p_affine_const_0_0_GRAY + p_affine_const_2_0_GRAY; + const walberla::float64 jac_affine_1_0_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_1_1_GRAY; + const walberla::float64 jac_affine_1_1_GRAY = -p_affine_const_0_1_GRAY + p_affine_const_2_1_GRAY; + const walberla::float64 tmp_coords_jac_1_GRAY = jac_affine_0_0_GRAY*jac_affine_1_1_GRAY - jac_affine_0_1_GRAY*jac_affine_1_0_GRAY; + const walberla::float64 tmp_coords_jac_2_GRAY = 1.0 / (tmp_coords_jac_1_GRAY); + const walberla::float64 jac_affine_inv_0_0_GRAY = jac_affine_1_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_0_1_GRAY = -jac_affine_0_1_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_0_GRAY = -jac_affine_1_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 jac_affine_inv_1_1_GRAY = jac_affine_0_0_GRAY*tmp_coords_jac_2_GRAY; + const walberla::float64 abs_det_jac_affine_GRAY = abs(tmp_coords_jac_1_GRAY); { /* FaceType.GRAY */ 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_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_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_3_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_2 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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 walberla::float64 k_dof_5 = _data_kEdge[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = jac_affine_inv_0_0_GRAY*tmp_q_2 + jac_affine_inv_1_0_GRAY*tmp_q_2; - const real_t tmp_q_4 = jac_affine_inv_0_1_GRAY*tmp_q_2 + jac_affine_inv_1_1_GRAY*tmp_q_2; - const real_t tmp_q_5 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_6 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_q_5 + tmp_q_7 + tmp_q_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_7 - _data_q_p_0[q]) + k_dof_2*(tmp_q_9 - _data_q_p_1[q]) + k_dof_3*tmp_q_5 + k_dof_4*(tmp_q_1 - tmp_q_5 + tmp_q_8*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_5 + tmp_q_6*-4.0))*_data_q_w[q]; - const real_t tmp_q_11 = tmp_q_0 - 1.0; - const real_t tmp_q_12 = jac_affine_inv_0_0_GRAY*tmp_q_11; - const real_t tmp_q_13 = jac_affine_inv_0_1_GRAY*tmp_q_11; - const real_t tmp_q_14 = tmp_q_1 - 1.0; - const real_t tmp_q_15 = jac_affine_inv_1_0_GRAY*tmp_q_14; - const real_t tmp_q_16 = jac_affine_inv_1_1_GRAY*tmp_q_14; - const real_t tmp_q_17 = jac_affine_inv_1_0_GRAY*tmp_q_0; - const real_t tmp_q_18 = jac_affine_inv_0_0_GRAY*tmp_q_1; - const real_t tmp_q_19 = tmp_q_17 + tmp_q_18; - const real_t tmp_q_20 = jac_affine_inv_1_1_GRAY*tmp_q_0; - const real_t tmp_q_21 = jac_affine_inv_0_1_GRAY*tmp_q_1; - const real_t tmp_q_22 = tmp_q_20 + tmp_q_21; - const real_t tmp_q_23 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GRAY*tmp_q_23 - tmp_q_18; - const real_t tmp_q_25 = jac_affine_inv_1_1_GRAY*tmp_q_23 - tmp_q_21; - const real_t tmp_q_26 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t tmp_q_27 = jac_affine_inv_0_0_GRAY*tmp_q_26 - tmp_q_17; - const real_t tmp_q_28 = jac_affine_inv_0_1_GRAY*tmp_q_26 - tmp_q_20; - const real_t tmp_q_29 = (tmp_q_11*tmp_q_11); - const real_t tmp_q_30 = (tmp_q_14*tmp_q_14); - const real_t q_tmp_0_0 = tmp_q_10*((tmp_q_3*tmp_q_3) + (tmp_q_4*tmp_q_4)); - const real_t q_tmp_0_1 = tmp_q_10*(tmp_q_12*tmp_q_3 + tmp_q_13*tmp_q_4); - const real_t q_tmp_0_2 = tmp_q_10*(tmp_q_15*tmp_q_3 + tmp_q_16*tmp_q_4); - const real_t q_tmp_0_3 = tmp_q_10*(tmp_q_19*tmp_q_3 + tmp_q_22*tmp_q_4); - const real_t q_tmp_0_4 = tmp_q_10*(tmp_q_24*tmp_q_3 + tmp_q_25*tmp_q_4); - const real_t q_tmp_0_5 = tmp_q_10*(tmp_q_27*tmp_q_3 + tmp_q_28*tmp_q_4); - const real_t q_tmp_1_1 = tmp_q_10*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_q_29 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_q_29); - const real_t q_tmp_1_2 = tmp_q_10*(tmp_q_12*tmp_q_15 + tmp_q_13*tmp_q_16); - const real_t q_tmp_1_3 = tmp_q_10*(tmp_q_12*tmp_q_19 + tmp_q_13*tmp_q_22); - const real_t q_tmp_1_4 = tmp_q_10*(tmp_q_12*tmp_q_24 + tmp_q_13*tmp_q_25); - const real_t q_tmp_1_5 = tmp_q_10*(tmp_q_12*tmp_q_27 + tmp_q_13*tmp_q_28); - const real_t q_tmp_2_2 = tmp_q_10*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_q_30 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_q_30); - const real_t q_tmp_2_3 = tmp_q_10*(tmp_q_15*tmp_q_19 + tmp_q_16*tmp_q_22); - const real_t q_tmp_2_4 = tmp_q_10*(tmp_q_15*tmp_q_24 + tmp_q_16*tmp_q_25); - const real_t q_tmp_2_5 = tmp_q_10*(tmp_q_15*tmp_q_27 + tmp_q_16*tmp_q_28); - const real_t q_tmp_3_3 = tmp_q_10*((tmp_q_19*tmp_q_19) + (tmp_q_22*tmp_q_22)); - const real_t q_tmp_3_4 = tmp_q_10*(tmp_q_19*tmp_q_24 + tmp_q_22*tmp_q_25); - const real_t q_tmp_3_5 = tmp_q_10*(tmp_q_19*tmp_q_27 + tmp_q_22*tmp_q_28); - const real_t q_tmp_4_4 = tmp_q_10*((tmp_q_24*tmp_q_24) + (tmp_q_25*tmp_q_25)); - const real_t q_tmp_4_5 = tmp_q_10*(tmp_q_24*tmp_q_27 + tmp_q_25*tmp_q_28); - const real_t q_tmp_5_5 = tmp_q_10*((tmp_q_27*tmp_q_27) + (tmp_q_28*tmp_q_28)); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = jac_affine_inv_0_0_GRAY*tmp_qloop_2 + jac_affine_inv_1_0_GRAY*tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = jac_affine_inv_0_1_GRAY*tmp_qloop_2 + jac_affine_inv_1_1_GRAY*tmp_qloop_2; + const walberla::float64 tmp_qloop_5 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = abs_det_jac_affine_GRAY*(k_dof_0*(tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_7 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_9 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_5 + k_dof_4*(tmp_qloop_1 - tmp_qloop_5 + tmp_qloop_8*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_5 + tmp_qloop_6*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_11 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_GRAY*tmp_qloop_11; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_0_1_GRAY*tmp_qloop_11; + const walberla::float64 tmp_qloop_14 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_15 = jac_affine_inv_1_0_GRAY*tmp_qloop_14; + const walberla::float64 tmp_qloop_16 = jac_affine_inv_1_1_GRAY*tmp_qloop_14; + const walberla::float64 tmp_qloop_17 = jac_affine_inv_1_0_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_18 = jac_affine_inv_0_0_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_1_GRAY*tmp_qloop_0; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GRAY*tmp_qloop_1; + const walberla::float64 tmp_qloop_22 = tmp_qloop_20 + tmp_qloop_21; + const walberla::float64 tmp_qloop_23 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GRAY*tmp_qloop_23 - tmp_qloop_18; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GRAY*tmp_qloop_23 - tmp_qloop_21; + const walberla::float64 tmp_qloop_26 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_0_0_GRAY*tmp_qloop_26 - tmp_qloop_17; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_GRAY*tmp_qloop_26 - tmp_qloop_20; + const walberla::float64 tmp_qloop_29 = (tmp_qloop_11*tmp_qloop_11); + const walberla::float64 tmp_qloop_30 = (tmp_qloop_14*tmp_qloop_14); + const walberla::float64 q_tmp_0_0 = tmp_qloop_10*((tmp_qloop_3*tmp_qloop_3) + (tmp_qloop_4*tmp_qloop_4)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_3 + tmp_qloop_13*tmp_qloop_4); + const walberla::float64 q_tmp_0_2 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_3 + tmp_qloop_16*tmp_qloop_4); + const walberla::float64 q_tmp_0_3 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_3 + tmp_qloop_22*tmp_qloop_4); + const walberla::float64 q_tmp_0_4 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_3 + tmp_qloop_25*tmp_qloop_4); + const walberla::float64 q_tmp_0_5 = tmp_qloop_10*(tmp_qloop_27*tmp_qloop_3 + tmp_qloop_28*tmp_qloop_4); + const walberla::float64 q_tmp_1_1 = tmp_qloop_10*((jac_affine_inv_0_0_GRAY*jac_affine_inv_0_0_GRAY)*tmp_qloop_29 + (jac_affine_inv_0_1_GRAY*jac_affine_inv_0_1_GRAY)*tmp_qloop_29); + const walberla::float64 q_tmp_1_2 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_15 + tmp_qloop_13*tmp_qloop_16); + const walberla::float64 q_tmp_1_3 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_19 + tmp_qloop_13*tmp_qloop_22); + const walberla::float64 q_tmp_1_4 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_24 + tmp_qloop_13*tmp_qloop_25); + const walberla::float64 q_tmp_1_5 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_27 + tmp_qloop_13*tmp_qloop_28); + const walberla::float64 q_tmp_2_2 = tmp_qloop_10*((jac_affine_inv_1_0_GRAY*jac_affine_inv_1_0_GRAY)*tmp_qloop_30 + (jac_affine_inv_1_1_GRAY*jac_affine_inv_1_1_GRAY)*tmp_qloop_30); + const walberla::float64 q_tmp_2_3 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_19 + tmp_qloop_16*tmp_qloop_22); + const walberla::float64 q_tmp_2_4 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_24 + tmp_qloop_16*tmp_qloop_25); + const walberla::float64 q_tmp_2_5 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_27 + tmp_qloop_16*tmp_qloop_28); + const walberla::float64 q_tmp_3_3 = tmp_qloop_10*((tmp_qloop_19*tmp_qloop_19) + (tmp_qloop_22*tmp_qloop_22)); + const walberla::float64 q_tmp_3_4 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_24 + tmp_qloop_22*tmp_qloop_25); + const walberla::float64 q_tmp_3_5 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_27 + tmp_qloop_22*tmp_qloop_28); + const walberla::float64 q_tmp_4_4 = tmp_qloop_10*((tmp_qloop_24*tmp_qloop_24) + (tmp_qloop_25*tmp_qloop_25)); + const walberla::float64 q_tmp_4_5 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_27 + tmp_qloop_25*tmp_qloop_28); + const walberla::float64 q_tmp_5_5 = tmp_qloop_10*((tmp_qloop_27*tmp_qloop_27) + (tmp_qloop_28*tmp_qloop_28)); 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; @@ -191,46 +191,46 @@ void P2ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dstEdge, q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; q_acc_5_5 = q_acc_5_5 + q_tmp_5_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_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - 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_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; std::vector< uint_t > _data_rowIdx( 6 ); std::vector< uint_t > _data_colIdx( 6 ); - std::vector< real_t > _data_mat( 36 ); + std::vector< walberla::float64 > _data_mat( 36 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); @@ -249,155 +249,155 @@ void P2ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dstEdge, - _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)); - _data_mat[18] = ((real_t)(elMat_3_0)); - _data_mat[19] = ((real_t)(elMat_3_1)); - _data_mat[20] = ((real_t)(elMat_3_2)); - _data_mat[21] = ((real_t)(elMat_3_3)); - _data_mat[22] = ((real_t)(elMat_3_4)); - _data_mat[23] = ((real_t)(elMat_3_5)); - _data_mat[24] = ((real_t)(elMat_4_0)); - _data_mat[25] = ((real_t)(elMat_4_1)); - _data_mat[26] = ((real_t)(elMat_4_2)); - _data_mat[27] = ((real_t)(elMat_4_3)); - _data_mat[28] = ((real_t)(elMat_4_4)); - _data_mat[29] = ((real_t)(elMat_4_5)); - _data_mat[30] = ((real_t)(elMat_5_0)); - _data_mat[31] = ((real_t)(elMat_5_1)); - _data_mat[32] = ((real_t)(elMat_5_2)); - _data_mat[33] = ((real_t)(elMat_5_3)); - _data_mat[34] = ((real_t)(elMat_5_4)); - _data_mat[35] = ((real_t)(elMat_5_5)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_1_0)); + _data_mat[7] = ((walberla::float64)(elMat_1_1)); + _data_mat[8] = ((walberla::float64)(elMat_1_2)); + _data_mat[9] = ((walberla::float64)(elMat_1_3)); + _data_mat[10] = ((walberla::float64)(elMat_1_4)); + _data_mat[11] = ((walberla::float64)(elMat_1_5)); + _data_mat[12] = ((walberla::float64)(elMat_2_0)); + _data_mat[13] = ((walberla::float64)(elMat_2_1)); + _data_mat[14] = ((walberla::float64)(elMat_2_2)); + _data_mat[15] = ((walberla::float64)(elMat_2_3)); + _data_mat[16] = ((walberla::float64)(elMat_2_4)); + _data_mat[17] = ((walberla::float64)(elMat_2_5)); + _data_mat[18] = ((walberla::float64)(elMat_3_0)); + _data_mat[19] = ((walberla::float64)(elMat_3_1)); + _data_mat[20] = ((walberla::float64)(elMat_3_2)); + _data_mat[21] = ((walberla::float64)(elMat_3_3)); + _data_mat[22] = ((walberla::float64)(elMat_3_4)); + _data_mat[23] = ((walberla::float64)(elMat_3_5)); + _data_mat[24] = ((walberla::float64)(elMat_4_0)); + _data_mat[25] = ((walberla::float64)(elMat_4_1)); + _data_mat[26] = ((walberla::float64)(elMat_4_2)); + _data_mat[27] = ((walberla::float64)(elMat_4_3)); + _data_mat[28] = ((walberla::float64)(elMat_4_4)); + _data_mat[29] = ((walberla::float64)(elMat_4_5)); + _data_mat[30] = ((walberla::float64)(elMat_5_0)); + _data_mat[31] = ((walberla::float64)(elMat_5_1)); + _data_mat[32] = ((walberla::float64)(elMat_5_2)); + _data_mat[33] = ((walberla::float64)(elMat_5_3)); + _data_mat[34] = ((walberla::float64)(elMat_5_4)); + _data_mat[35] = ((walberla::float64)(elMat_5_5)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE = macro_vertex_coord_id_0comp0 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE = macro_vertex_coord_id_0comp1 + tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_4_BLUE = tmp_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t p_affine_const_0_0_BLUE = tmp_1_BLUE; - const real_t p_affine_const_0_1_BLUE = tmp_2_BLUE; - const real_t p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; - const real_t p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; - const real_t p_affine_const_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; - const real_t p_affine_const_2_1_BLUE = tmp_2_BLUE + tmp_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 tmp_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; - const real_t tmp_6_BLUE = 1.0 / (tmp_5_BLUE); - const real_t jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_6_BLUE; - const real_t jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_6_BLUE; - const real_t abs_det_jac_affine_BLUE = abs(tmp_5_BLUE); + const walberla::float64 tmp_coords_jac_0_BLUE = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_3_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_4_BLUE = tmp_coords_jac_0_BLUE*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 p_affine_const_0_0_BLUE = tmp_coords_jac_1_BLUE; + const walberla::float64 p_affine_const_0_1_BLUE = tmp_coords_jac_2_BLUE; + const walberla::float64 p_affine_const_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_coords_jac_4_BLUE; + const walberla::float64 p_affine_const_2_0_BLUE = tmp_coords_jac_1_BLUE + tmp_coords_jac_3_BLUE; + const walberla::float64 p_affine_const_2_1_BLUE = tmp_coords_jac_2_BLUE + tmp_coords_jac_4_BLUE; + const walberla::float64 jac_affine_0_0_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_1_0_BLUE; + const walberla::float64 jac_affine_0_1_BLUE = -p_affine_const_0_0_BLUE + p_affine_const_2_0_BLUE; + const walberla::float64 jac_affine_1_0_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_1_1_BLUE; + const walberla::float64 jac_affine_1_1_BLUE = -p_affine_const_0_1_BLUE + p_affine_const_2_1_BLUE; + const walberla::float64 tmp_coords_jac_5_BLUE = jac_affine_0_0_BLUE*jac_affine_1_1_BLUE - jac_affine_0_1_BLUE*jac_affine_1_0_BLUE; + const walberla::float64 tmp_coords_jac_6_BLUE = 1.0 / (tmp_coords_jac_5_BLUE); + const walberla::float64 jac_affine_inv_0_0_BLUE = jac_affine_1_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_0_1_BLUE = -jac_affine_0_1_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_0_BLUE = -jac_affine_1_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 jac_affine_inv_1_1_BLUE = jac_affine_0_0_BLUE*tmp_coords_jac_6_BLUE; + const walberla::float64 abs_det_jac_affine_BLUE = abs(tmp_coords_jac_5_BLUE); { /* FaceType.BLUE */ 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_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_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_3_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_5_5 = 0.0; + const walberla::float64 k_dof_0 = _data_kVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + const walberla::float64 k_dof_1 = _data_kVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 k_dof_3 = _data_kEdge[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + const walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; for (int64_t q = 0; q < 3; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_2 = tmp_q_0 + tmp_q_1 - 3.0; - const real_t tmp_q_3 = jac_affine_inv_0_0_BLUE*tmp_q_2 + jac_affine_inv_1_0_BLUE*tmp_q_2; - const real_t tmp_q_4 = jac_affine_inv_0_1_BLUE*tmp_q_2 + jac_affine_inv_1_1_BLUE*tmp_q_2; - const real_t tmp_q_5 = tmp_q_0*_data_q_p_1[q]; - const real_t tmp_q_6 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_7 = tmp_q_6*2.0; - const real_t tmp_q_8 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_9 = tmp_q_8*2.0; - const real_t tmp_q_10 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_q_5 + tmp_q_7 + tmp_q_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_q_7 - _data_q_p_0[q]) + k_dof_2*(tmp_q_9 - _data_q_p_1[q]) + k_dof_3*tmp_q_5 + k_dof_4*(tmp_q_1 - tmp_q_5 + tmp_q_8*-4.0) + k_dof_5*(tmp_q_0 - tmp_q_5 + tmp_q_6*-4.0))*_data_q_w[q]; - const real_t tmp_q_11 = tmp_q_0 - 1.0; - const real_t tmp_q_12 = jac_affine_inv_0_0_BLUE*tmp_q_11; - const real_t tmp_q_13 = jac_affine_inv_0_1_BLUE*tmp_q_11; - const real_t tmp_q_14 = tmp_q_1 - 1.0; - const real_t tmp_q_15 = jac_affine_inv_1_0_BLUE*tmp_q_14; - const real_t tmp_q_16 = jac_affine_inv_1_1_BLUE*tmp_q_14; - const real_t tmp_q_17 = jac_affine_inv_1_0_BLUE*tmp_q_0; - const real_t tmp_q_18 = jac_affine_inv_0_0_BLUE*tmp_q_1; - const real_t tmp_q_19 = tmp_q_17 + tmp_q_18; - const real_t tmp_q_20 = jac_affine_inv_1_1_BLUE*tmp_q_0; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE*tmp_q_1; - const real_t tmp_q_22 = tmp_q_20 + tmp_q_21; - const real_t tmp_q_23 = -tmp_q_0 - 8.0*_data_q_p_1[q] + 4.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE*tmp_q_23 - tmp_q_18; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE*tmp_q_23 - tmp_q_21; - const real_t tmp_q_26 = -tmp_q_1 - 8.0*_data_q_p_0[q] + 4.0; - const real_t tmp_q_27 = jac_affine_inv_0_0_BLUE*tmp_q_26 - tmp_q_17; - const real_t tmp_q_28 = jac_affine_inv_0_1_BLUE*tmp_q_26 - tmp_q_20; - const real_t tmp_q_29 = (tmp_q_11*tmp_q_11); - const real_t tmp_q_30 = (tmp_q_14*tmp_q_14); - const real_t q_tmp_0_0 = tmp_q_10*((tmp_q_3*tmp_q_3) + (tmp_q_4*tmp_q_4)); - const real_t q_tmp_0_1 = tmp_q_10*(tmp_q_12*tmp_q_3 + tmp_q_13*tmp_q_4); - const real_t q_tmp_0_2 = tmp_q_10*(tmp_q_15*tmp_q_3 + tmp_q_16*tmp_q_4); - const real_t q_tmp_0_3 = tmp_q_10*(tmp_q_19*tmp_q_3 + tmp_q_22*tmp_q_4); - const real_t q_tmp_0_4 = tmp_q_10*(tmp_q_24*tmp_q_3 + tmp_q_25*tmp_q_4); - const real_t q_tmp_0_5 = tmp_q_10*(tmp_q_27*tmp_q_3 + tmp_q_28*tmp_q_4); - const real_t q_tmp_1_1 = tmp_q_10*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_q_29 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_q_29); - const real_t q_tmp_1_2 = tmp_q_10*(tmp_q_12*tmp_q_15 + tmp_q_13*tmp_q_16); - const real_t q_tmp_1_3 = tmp_q_10*(tmp_q_12*tmp_q_19 + tmp_q_13*tmp_q_22); - const real_t q_tmp_1_4 = tmp_q_10*(tmp_q_12*tmp_q_24 + tmp_q_13*tmp_q_25); - const real_t q_tmp_1_5 = tmp_q_10*(tmp_q_12*tmp_q_27 + tmp_q_13*tmp_q_28); - const real_t q_tmp_2_2 = tmp_q_10*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_q_30 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_q_30); - const real_t q_tmp_2_3 = tmp_q_10*(tmp_q_15*tmp_q_19 + tmp_q_16*tmp_q_22); - const real_t q_tmp_2_4 = tmp_q_10*(tmp_q_15*tmp_q_24 + tmp_q_16*tmp_q_25); - const real_t q_tmp_2_5 = tmp_q_10*(tmp_q_15*tmp_q_27 + tmp_q_16*tmp_q_28); - const real_t q_tmp_3_3 = tmp_q_10*((tmp_q_19*tmp_q_19) + (tmp_q_22*tmp_q_22)); - const real_t q_tmp_3_4 = tmp_q_10*(tmp_q_19*tmp_q_24 + tmp_q_22*tmp_q_25); - const real_t q_tmp_3_5 = tmp_q_10*(tmp_q_19*tmp_q_27 + tmp_q_22*tmp_q_28); - const real_t q_tmp_4_4 = tmp_q_10*((tmp_q_24*tmp_q_24) + (tmp_q_25*tmp_q_25)); - const real_t q_tmp_4_5 = tmp_q_10*(tmp_q_24*tmp_q_27 + tmp_q_25*tmp_q_28); - const real_t q_tmp_5_5 = tmp_q_10*((tmp_q_27*tmp_q_27) + (tmp_q_28*tmp_q_28)); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_2 = tmp_qloop_0 + tmp_qloop_1 - 3.0; + const walberla::float64 tmp_qloop_3 = jac_affine_inv_0_0_BLUE*tmp_qloop_2 + jac_affine_inv_1_0_BLUE*tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = jac_affine_inv_0_1_BLUE*tmp_qloop_2 + jac_affine_inv_1_1_BLUE*tmp_qloop_2; + const walberla::float64 tmp_qloop_5 = tmp_qloop_0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_6 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_7 = tmp_qloop_6*2.0; + const walberla::float64 tmp_qloop_8 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_9 = tmp_qloop_8*2.0; + const walberla::float64 tmp_qloop_10 = abs_det_jac_affine_BLUE*(k_dof_0*(tmp_qloop_5 + tmp_qloop_7 + tmp_qloop_9 - 3.0*_data_q_p_0[q] - 3.0*_data_q_p_1[q] + 1.0) + k_dof_1*(tmp_qloop_7 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_9 - _data_q_p_1[q]) + k_dof_3*tmp_qloop_5 + k_dof_4*(tmp_qloop_1 - tmp_qloop_5 + tmp_qloop_8*-4.0) + k_dof_5*(tmp_qloop_0 - tmp_qloop_5 + tmp_qloop_6*-4.0))*_data_q_w[q]; + const walberla::float64 tmp_qloop_11 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_12 = jac_affine_inv_0_0_BLUE*tmp_qloop_11; + const walberla::float64 tmp_qloop_13 = jac_affine_inv_0_1_BLUE*tmp_qloop_11; + const walberla::float64 tmp_qloop_14 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_15 = jac_affine_inv_1_0_BLUE*tmp_qloop_14; + const walberla::float64 tmp_qloop_16 = jac_affine_inv_1_1_BLUE*tmp_qloop_14; + const walberla::float64 tmp_qloop_17 = jac_affine_inv_1_0_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_18 = jac_affine_inv_0_0_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_19 = tmp_qloop_17 + tmp_qloop_18; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_1_1_BLUE*tmp_qloop_0; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE*tmp_qloop_1; + const walberla::float64 tmp_qloop_22 = tmp_qloop_20 + tmp_qloop_21; + const walberla::float64 tmp_qloop_23 = -tmp_qloop_0 - 8.0*_data_q_p_1[q] + 4.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE*tmp_qloop_23 - tmp_qloop_18; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE*tmp_qloop_23 - tmp_qloop_21; + const walberla::float64 tmp_qloop_26 = -tmp_qloop_1 - 8.0*_data_q_p_0[q] + 4.0; + const walberla::float64 tmp_qloop_27 = jac_affine_inv_0_0_BLUE*tmp_qloop_26 - tmp_qloop_17; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_0_1_BLUE*tmp_qloop_26 - tmp_qloop_20; + const walberla::float64 tmp_qloop_29 = (tmp_qloop_11*tmp_qloop_11); + const walberla::float64 tmp_qloop_30 = (tmp_qloop_14*tmp_qloop_14); + const walberla::float64 q_tmp_0_0 = tmp_qloop_10*((tmp_qloop_3*tmp_qloop_3) + (tmp_qloop_4*tmp_qloop_4)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_3 + tmp_qloop_13*tmp_qloop_4); + const walberla::float64 q_tmp_0_2 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_3 + tmp_qloop_16*tmp_qloop_4); + const walberla::float64 q_tmp_0_3 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_3 + tmp_qloop_22*tmp_qloop_4); + const walberla::float64 q_tmp_0_4 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_3 + tmp_qloop_25*tmp_qloop_4); + const walberla::float64 q_tmp_0_5 = tmp_qloop_10*(tmp_qloop_27*tmp_qloop_3 + tmp_qloop_28*tmp_qloop_4); + const walberla::float64 q_tmp_1_1 = tmp_qloop_10*((jac_affine_inv_0_0_BLUE*jac_affine_inv_0_0_BLUE)*tmp_qloop_29 + (jac_affine_inv_0_1_BLUE*jac_affine_inv_0_1_BLUE)*tmp_qloop_29); + const walberla::float64 q_tmp_1_2 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_15 + tmp_qloop_13*tmp_qloop_16); + const walberla::float64 q_tmp_1_3 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_19 + tmp_qloop_13*tmp_qloop_22); + const walberla::float64 q_tmp_1_4 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_24 + tmp_qloop_13*tmp_qloop_25); + const walberla::float64 q_tmp_1_5 = tmp_qloop_10*(tmp_qloop_12*tmp_qloop_27 + tmp_qloop_13*tmp_qloop_28); + const walberla::float64 q_tmp_2_2 = tmp_qloop_10*((jac_affine_inv_1_0_BLUE*jac_affine_inv_1_0_BLUE)*tmp_qloop_30 + (jac_affine_inv_1_1_BLUE*jac_affine_inv_1_1_BLUE)*tmp_qloop_30); + const walberla::float64 q_tmp_2_3 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_19 + tmp_qloop_16*tmp_qloop_22); + const walberla::float64 q_tmp_2_4 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_24 + tmp_qloop_16*tmp_qloop_25); + const walberla::float64 q_tmp_2_5 = tmp_qloop_10*(tmp_qloop_15*tmp_qloop_27 + tmp_qloop_16*tmp_qloop_28); + const walberla::float64 q_tmp_3_3 = tmp_qloop_10*((tmp_qloop_19*tmp_qloop_19) + (tmp_qloop_22*tmp_qloop_22)); + const walberla::float64 q_tmp_3_4 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_24 + tmp_qloop_22*tmp_qloop_25); + const walberla::float64 q_tmp_3_5 = tmp_qloop_10*(tmp_qloop_19*tmp_qloop_27 + tmp_qloop_22*tmp_qloop_28); + const walberla::float64 q_tmp_4_4 = tmp_qloop_10*((tmp_qloop_24*tmp_qloop_24) + (tmp_qloop_25*tmp_qloop_25)); + const walberla::float64 q_tmp_4_5 = tmp_qloop_10*(tmp_qloop_24*tmp_qloop_27 + tmp_qloop_25*tmp_qloop_28); + const walberla::float64 q_tmp_5_5 = tmp_qloop_10*((tmp_qloop_27*tmp_qloop_27) + (tmp_qloop_28*tmp_qloop_28)); 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; @@ -420,46 +420,46 @@ void P2ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dstEdge, q_acc_4_5 = q_acc_4_5 + q_tmp_4_5; q_acc_5_5 = q_acc_5_5 + q_tmp_5_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_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_3_0 = q_acc_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - 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_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; std::vector< uint_t > _data_rowIdx( 6 ); std::vector< uint_t > _data_colIdx( 6 ); - std::vector< real_t > _data_mat( 36 ); + std::vector< walberla::float64 > _data_mat( 36 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); @@ -478,42 +478,42 @@ void P2ElementwiseDivKGrad::toMatrix_macro_2D( idx_t * RESTRICT _data_dstEdge, - _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)); - _data_mat[18] = ((real_t)(elMat_3_0)); - _data_mat[19] = ((real_t)(elMat_3_1)); - _data_mat[20] = ((real_t)(elMat_3_2)); - _data_mat[21] = ((real_t)(elMat_3_3)); - _data_mat[22] = ((real_t)(elMat_3_4)); - _data_mat[23] = ((real_t)(elMat_3_5)); - _data_mat[24] = ((real_t)(elMat_4_0)); - _data_mat[25] = ((real_t)(elMat_4_1)); - _data_mat[26] = ((real_t)(elMat_4_2)); - _data_mat[27] = ((real_t)(elMat_4_3)); - _data_mat[28] = ((real_t)(elMat_4_4)); - _data_mat[29] = ((real_t)(elMat_4_5)); - _data_mat[30] = ((real_t)(elMat_5_0)); - _data_mat[31] = ((real_t)(elMat_5_1)); - _data_mat[32] = ((real_t)(elMat_5_2)); - _data_mat[33] = ((real_t)(elMat_5_3)); - _data_mat[34] = ((real_t)(elMat_5_4)); - _data_mat[35] = ((real_t)(elMat_5_5)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_1_0)); + _data_mat[7] = ((walberla::float64)(elMat_1_1)); + _data_mat[8] = ((walberla::float64)(elMat_1_2)); + _data_mat[9] = ((walberla::float64)(elMat_1_3)); + _data_mat[10] = ((walberla::float64)(elMat_1_4)); + _data_mat[11] = ((walberla::float64)(elMat_1_5)); + _data_mat[12] = ((walberla::float64)(elMat_2_0)); + _data_mat[13] = ((walberla::float64)(elMat_2_1)); + _data_mat[14] = ((walberla::float64)(elMat_2_2)); + _data_mat[15] = ((walberla::float64)(elMat_2_3)); + _data_mat[16] = ((walberla::float64)(elMat_2_4)); + _data_mat[17] = ((walberla::float64)(elMat_2_5)); + _data_mat[18] = ((walberla::float64)(elMat_3_0)); + _data_mat[19] = ((walberla::float64)(elMat_3_1)); + _data_mat[20] = ((walberla::float64)(elMat_3_2)); + _data_mat[21] = ((walberla::float64)(elMat_3_3)); + _data_mat[22] = ((walberla::float64)(elMat_3_4)); + _data_mat[23] = ((walberla::float64)(elMat_3_5)); + _data_mat[24] = ((walberla::float64)(elMat_4_0)); + _data_mat[25] = ((walberla::float64)(elMat_4_1)); + _data_mat[26] = ((walberla::float64)(elMat_4_2)); + _data_mat[27] = ((walberla::float64)(elMat_4_3)); + _data_mat[28] = ((walberla::float64)(elMat_4_4)); + _data_mat[29] = ((walberla::float64)(elMat_4_5)); + _data_mat[30] = ((walberla::float64)(elMat_5_0)); + _data_mat[31] = ((walberla::float64)(elMat_5_1)); + _data_mat[32] = ((walberla::float64)(elMat_5_2)); + _data_mat[33] = ((walberla::float64)(elMat_5_3)); + _data_mat[34] = ((walberla::float64)(elMat_5_4)); + _data_mat[35] = ((walberla::float64)(elMat_5_5)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); diff --git a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_3D.cpp b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_3D.cpp index 884e8dd9f13a55f4f7f471c33066d4b8b1f68031..8de2f7b3bd79c1822c2e7dc2bda83c5dc8d33ce7 100644 --- a/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_3D.cpp +++ b/operators/div_k_grad/noarch/P2ElementwiseDivKGrad_toMatrix_macro_3D.cpp @@ -56,276 +56,276 @@ namespace hyteg { namespace operatorgeneration { -void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, idx_t * RESTRICT _data_dstVertex, 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 +void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, idx_t * RESTRICT _data_dstVertex, walberla::float64 * RESTRICT _data_kEdge, walberla::float64 * RESTRICT _data_kVertex, idx_t * RESTRICT _data_srcEdge, idx_t * RESTRICT _data_srcVertex, walberla::float64 macro_vertex_coord_id_0comp0, walberla::float64 macro_vertex_coord_id_0comp1, walberla::float64 macro_vertex_coord_id_0comp2, walberla::float64 macro_vertex_coord_id_1comp0, walberla::float64 macro_vertex_coord_id_1comp1, walberla::float64 macro_vertex_coord_id_1comp2, walberla::float64 macro_vertex_coord_id_2comp0, walberla::float64 macro_vertex_coord_id_2comp1, walberla::float64 macro_vertex_coord_id_2comp2, walberla::float64 macro_vertex_coord_id_3comp0, walberla::float64 macro_vertex_coord_id_3comp1, walberla::float64 macro_vertex_coord_id_3comp2, std::shared_ptr< SparseMatrixProxy > mat, int64_t micro_edges_per_macro_edge, walberla::float64 micro_edges_per_macro_edge_float ) const { { - const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + const walberla::float64 _data_q_w [] = {0.041666666666666657, 0.041666666666666657, 0.041666666666666657, 0.041666666666666657}; - const real_t _data_q_p_0 [] = {0.18002969351036546, 0.15593312049918584, 0.21607642918484793, 0.82157254096761967}; + const walberla::float64 _data_q_p_0 [] = {0.1381966011250105, 0.1381966011250105, 0.5854101966249684, 0.1381966011250105}; - const real_t _data_q_p_1 [] = {0.36531451881463461, 0.45746158708559559, 0.00037551502872928966, 0.12366680032845823}; + const walberla::float64 _data_q_p_1 [] = {0.1381966011250105, 0.5854101966249684, 0.1381966011250105, 0.1381966011250105}; - const real_t _data_q_p_2 [] = {0.0069232355736274509, 0.3817653560693467, 0.43070170707783589, 0.039933048641498381}; + const walberla::float64 _data_q_p_2 [] = {0.5854101966249684, 0.1381966011250105, 0.1381966011250105, 0.1381966011250105}; - const real_t tmp_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_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_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_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_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_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_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_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_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_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; - const real_t jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; - const real_t jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; - const real_t jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; - const real_t jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; - const real_t tmp_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; - const real_t jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; - const real_t tmp_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; - const real_t jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; - const real_t jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; - const real_t tmp_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; - const real_t jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; - const real_t tmp_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; - const real_t tmp_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_5_WHITE_UP; - const real_t tmp_7_WHITE_UP = 1.0 / (tmp_6_WHITE_UP); - const real_t jac_affine_inv_0_0_WHITE_UP = tmp_7_WHITE_UP*(tmp_1_WHITE_UP - tmp_2_WHITE_UP); - const real_t jac_affine_inv_0_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_4_WHITE_UP); - const real_t jac_affine_inv_0_2_WHITE_UP = tmp_7_WHITE_UP*(tmp_3_WHITE_UP - tmp_5_WHITE_UP); - const real_t jac_affine_inv_1_0_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_1_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_1_2_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t jac_affine_inv_2_0_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_1_WHITE_UP = tmp_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); - const real_t jac_affine_inv_2_2_WHITE_UP = tmp_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); - const real_t abs_det_jac_affine_WHITE_UP = abs(tmp_6_WHITE_UP); + const walberla::float64 tmp_coords_jac_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 p_affine_const_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const walberla::float64 p_affine_const_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const walberla::float64 p_affine_const_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_1_0_WHITE_UP; + const walberla::float64 jac_affine_0_1_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_2_0_WHITE_UP; + const walberla::float64 jac_affine_0_2_WHITE_UP = -p_affine_const_0_0_WHITE_UP + p_affine_const_3_0_WHITE_UP; + const walberla::float64 jac_affine_1_0_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_1_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_2_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_5_WHITE_UP = jac_affine_0_2_WHITE_UP*jac_affine_1_1_WHITE_UP; + const walberla::float64 jac_affine_1_2_WHITE_UP = -p_affine_const_0_1_WHITE_UP + p_affine_const_3_1_WHITE_UP; + const walberla::float64 tmp_coords_jac_3_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_0_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_1_2_WHITE_UP; + const walberla::float64 jac_affine_2_1_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_2_WHITE_UP = jac_affine_1_2_WHITE_UP*jac_affine_2_1_WHITE_UP; + const walberla::float64 jac_affine_2_2_WHITE_UP = -p_affine_const_0_2_WHITE_UP + p_affine_const_3_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_1_WHITE_UP = jac_affine_1_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_4_WHITE_UP = jac_affine_0_1_WHITE_UP*jac_affine_2_2_WHITE_UP; + const walberla::float64 tmp_coords_jac_6_WHITE_UP = jac_affine_0_0_WHITE_UP*tmp_coords_jac_1_WHITE_UP - jac_affine_0_0_WHITE_UP*tmp_coords_jac_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_0_WHITE_UP*tmp_coords_jac_4_WHITE_UP + jac_affine_2_0_WHITE_UP*tmp_coords_jac_3_WHITE_UP - jac_affine_2_0_WHITE_UP*tmp_coords_jac_5_WHITE_UP; + const walberla::float64 tmp_coords_jac_7_WHITE_UP = 1.0 / (tmp_coords_jac_6_WHITE_UP); + const walberla::float64 jac_affine_inv_0_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_1_WHITE_UP - tmp_coords_jac_2_WHITE_UP); + const walberla::float64 jac_affine_inv_0_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_2_WHITE_UP*jac_affine_2_1_WHITE_UP - tmp_coords_jac_4_WHITE_UP); + const walberla::float64 jac_affine_inv_0_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(tmp_coords_jac_3_WHITE_UP - tmp_coords_jac_5_WHITE_UP); + const walberla::float64 jac_affine_inv_1_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_1_0_WHITE_UP*jac_affine_2_2_WHITE_UP + jac_affine_1_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_2_2_WHITE_UP - jac_affine_0_2_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_1_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_1_2_WHITE_UP + jac_affine_0_2_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_0_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_1_0_WHITE_UP*jac_affine_2_1_WHITE_UP - jac_affine_1_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_1_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(-jac_affine_0_0_WHITE_UP*jac_affine_2_1_WHITE_UP + jac_affine_0_1_WHITE_UP*jac_affine_2_0_WHITE_UP); + const walberla::float64 jac_affine_inv_2_2_WHITE_UP = tmp_coords_jac_7_WHITE_UP*(jac_affine_0_0_WHITE_UP*jac_affine_1_1_WHITE_UP - jac_affine_0_1_WHITE_UP*jac_affine_1_0_WHITE_UP); + const walberla::float64 abs_det_jac_affine_WHITE_UP = abs(tmp_coords_jac_6_WHITE_UP); { /* CellType.WHITE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_WHITE_UP*tmp_q_4 + jac_affine_inv_1_0_WHITE_UP*tmp_q_4 + jac_affine_inv_2_0_WHITE_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_WHITE_UP*tmp_q_4 + jac_affine_inv_1_1_WHITE_UP*tmp_q_4 + jac_affine_inv_2_1_WHITE_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_WHITE_UP*tmp_q_4 + jac_affine_inv_1_2_WHITE_UP*tmp_q_4 + jac_affine_inv_2_2_WHITE_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_WHITE_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_WHITE_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_WHITE_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_WHITE_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_WHITE_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_WHITE_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_WHITE_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_WHITE_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_WHITE_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_WHITE_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_WHITE_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_WHITE_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_WHITE_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_WHITE_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_WHITE_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_WHITE_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_WHITE_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_WHITE_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_WHITE_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_WHITE_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_WHITE_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_WHITE_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_WHITE_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_WHITE_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_WHITE_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_WHITE_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_WHITE_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_WHITE_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_WHITE_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_WHITE_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_WHITE_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_WHITE_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_WHITE_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_WHITE_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_WHITE_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_WHITE_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_q_71 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_q_71 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_q_72 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_q_72 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_q_73 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_q_73 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_WHITE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_WHITE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_WHITE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_WHITE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_WHITE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_WHITE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_WHITE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_WHITE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_WHITE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_WHITE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_WHITE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_WHITE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_UP*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_WHITE_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_WHITE_UP*jac_affine_inv_0_0_WHITE_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_WHITE_UP*jac_affine_inv_0_1_WHITE_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_WHITE_UP*jac_affine_inv_0_2_WHITE_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_WHITE_UP*jac_affine_inv_1_0_WHITE_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_WHITE_UP*jac_affine_inv_1_1_WHITE_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_WHITE_UP*jac_affine_inv_1_2_WHITE_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_WHITE_UP*jac_affine_inv_2_0_WHITE_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_WHITE_UP*jac_affine_inv_2_1_WHITE_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_WHITE_UP*jac_affine_inv_2_2_WHITE_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_WHITE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_WHITE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_WHITE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -382,110 +382,110 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMat_0_0 = q_acc_0_0; - const real_t elMat_0_1 = q_acc_0_1; - const real_t elMat_0_2 = q_acc_0_2; - const real_t elMat_0_3 = q_acc_0_3; - const real_t elMat_0_4 = q_acc_0_4; - const real_t elMat_0_5 = q_acc_0_5; - const real_t elMat_0_6 = q_acc_0_6; - const real_t elMat_0_7 = q_acc_0_7; - const real_t elMat_0_8 = q_acc_0_8; - const real_t elMat_0_9 = q_acc_0_9; - const real_t elMat_1_0 = q_acc_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; - const real_t elMat_3_4 = q_acc_3_4; - const real_t elMat_3_5 = q_acc_3_5; - const real_t elMat_3_6 = q_acc_3_6; - const real_t elMat_3_7 = q_acc_3_7; - const real_t elMat_3_8 = q_acc_3_8; - const real_t elMat_3_9 = q_acc_3_9; - const real_t elMat_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_4_6 = q_acc_4_6; - const real_t elMat_4_7 = q_acc_4_7; - const real_t elMat_4_8 = q_acc_4_8; - const real_t elMat_4_9 = q_acc_4_9; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; - const real_t elMat_5_6 = q_acc_5_6; - const real_t elMat_5_7 = q_acc_5_7; - const real_t elMat_5_8 = q_acc_5_8; - const real_t elMat_5_9 = q_acc_5_9; - const real_t elMat_6_0 = q_acc_0_6; - const real_t elMat_6_1 = q_acc_1_6; - const real_t elMat_6_2 = q_acc_2_6; - const real_t elMat_6_3 = q_acc_3_6; - const real_t elMat_6_4 = q_acc_4_6; - const real_t elMat_6_5 = q_acc_5_6; - const real_t elMat_6_6 = q_acc_6_6; - const real_t elMat_6_7 = q_acc_6_7; - const real_t elMat_6_8 = q_acc_6_8; - const real_t elMat_6_9 = q_acc_6_9; - const real_t elMat_7_0 = q_acc_0_7; - const real_t elMat_7_1 = q_acc_1_7; - const real_t elMat_7_2 = q_acc_2_7; - const real_t elMat_7_3 = q_acc_3_7; - const real_t elMat_7_4 = q_acc_4_7; - const real_t elMat_7_5 = q_acc_5_7; - const real_t elMat_7_6 = q_acc_6_7; - const real_t elMat_7_7 = q_acc_7_7; - const real_t elMat_7_8 = q_acc_7_8; - const real_t elMat_7_9 = q_acc_7_9; - const real_t elMat_8_0 = q_acc_0_8; - const real_t elMat_8_1 = q_acc_1_8; - const real_t elMat_8_2 = q_acc_2_8; - const real_t elMat_8_3 = q_acc_3_8; - const real_t elMat_8_4 = q_acc_4_8; - const real_t elMat_8_5 = q_acc_5_8; - const real_t elMat_8_6 = q_acc_6_8; - const real_t elMat_8_7 = q_acc_7_8; - const real_t elMat_8_8 = q_acc_8_8; - const real_t elMat_8_9 = q_acc_8_9; - const real_t elMat_9_0 = q_acc_0_9; - const real_t elMat_9_1 = q_acc_1_9; - const real_t elMat_9_2 = q_acc_2_9; - const real_t elMat_9_3 = q_acc_3_9; - const real_t elMat_9_4 = q_acc_4_9; - const real_t elMat_9_5 = q_acc_5_9; - const real_t elMat_9_6 = q_acc_6_9; - const real_t elMat_9_7 = q_acc_7_9; - const real_t elMat_9_8 = q_acc_8_9; - const real_t elMat_9_9 = q_acc_9_9; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_0_6 = q_acc_0_6; + const walberla::float64 elMat_0_7 = q_acc_0_7; + const walberla::float64 elMat_0_8 = q_acc_0_8; + const walberla::float64 elMat_0_9 = q_acc_0_9; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_1_6 = q_acc_1_6; + const walberla::float64 elMat_1_7 = q_acc_1_7; + const walberla::float64 elMat_1_8 = q_acc_1_8; + const walberla::float64 elMat_1_9 = q_acc_1_9; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_2_6 = q_acc_2_6; + const walberla::float64 elMat_2_7 = q_acc_2_7; + const walberla::float64 elMat_2_8 = q_acc_2_8; + const walberla::float64 elMat_2_9 = q_acc_2_9; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_3_6 = q_acc_3_6; + const walberla::float64 elMat_3_7 = q_acc_3_7; + const walberla::float64 elMat_3_8 = q_acc_3_8; + const walberla::float64 elMat_3_9 = q_acc_3_9; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_4_6 = q_acc_4_6; + const walberla::float64 elMat_4_7 = q_acc_4_7; + const walberla::float64 elMat_4_8 = q_acc_4_8; + const walberla::float64 elMat_4_9 = q_acc_4_9; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_5_6 = q_acc_5_6; + const walberla::float64 elMat_5_7 = q_acc_5_7; + const walberla::float64 elMat_5_8 = q_acc_5_8; + const walberla::float64 elMat_5_9 = q_acc_5_9; + const walberla::float64 elMat_6_0 = q_acc_0_6; + const walberla::float64 elMat_6_1 = q_acc_1_6; + const walberla::float64 elMat_6_2 = q_acc_2_6; + const walberla::float64 elMat_6_3 = q_acc_3_6; + const walberla::float64 elMat_6_4 = q_acc_4_6; + const walberla::float64 elMat_6_5 = q_acc_5_6; + const walberla::float64 elMat_6_6 = q_acc_6_6; + const walberla::float64 elMat_6_7 = q_acc_6_7; + const walberla::float64 elMat_6_8 = q_acc_6_8; + const walberla::float64 elMat_6_9 = q_acc_6_9; + const walberla::float64 elMat_7_0 = q_acc_0_7; + const walberla::float64 elMat_7_1 = q_acc_1_7; + const walberla::float64 elMat_7_2 = q_acc_2_7; + const walberla::float64 elMat_7_3 = q_acc_3_7; + const walberla::float64 elMat_7_4 = q_acc_4_7; + const walberla::float64 elMat_7_5 = q_acc_5_7; + const walberla::float64 elMat_7_6 = q_acc_6_7; + const walberla::float64 elMat_7_7 = q_acc_7_7; + const walberla::float64 elMat_7_8 = q_acc_7_8; + const walberla::float64 elMat_7_9 = q_acc_7_9; + const walberla::float64 elMat_8_0 = q_acc_0_8; + const walberla::float64 elMat_8_1 = q_acc_1_8; + const walberla::float64 elMat_8_2 = q_acc_2_8; + const walberla::float64 elMat_8_3 = q_acc_3_8; + const walberla::float64 elMat_8_4 = q_acc_4_8; + const walberla::float64 elMat_8_5 = q_acc_5_8; + const walberla::float64 elMat_8_6 = q_acc_6_8; + const walberla::float64 elMat_8_7 = q_acc_7_8; + const walberla::float64 elMat_8_8 = q_acc_8_8; + const walberla::float64 elMat_8_9 = q_acc_8_9; + const walberla::float64 elMat_9_0 = q_acc_0_9; + const walberla::float64 elMat_9_1 = q_acc_1_9; + const walberla::float64 elMat_9_2 = q_acc_2_9; + const walberla::float64 elMat_9_3 = q_acc_3_9; + const walberla::float64 elMat_9_4 = q_acc_4_9; + const walberla::float64 elMat_9_5 = q_acc_5_9; + const walberla::float64 elMat_9_6 = q_acc_6_9; + const walberla::float64 elMat_9_7 = q_acc_7_9; + const walberla::float64 elMat_9_8 = q_acc_8_9; + const walberla::float64 elMat_9_9 = q_acc_9_9; std::vector< uint_t > _data_rowIdx( 10 ); std::vector< uint_t > _data_colIdx( 10 ); - std::vector< real_t > _data_mat( 100 ); + std::vector< walberla::float64 > _data_mat( 100 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); @@ -512,382 +512,382 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, - _data_mat[0] = ((real_t)(elMat_0_0)); - _data_mat[1] = ((real_t)(elMat_0_1)); - _data_mat[2] = ((real_t)(elMat_0_2)); - _data_mat[3] = ((real_t)(elMat_0_3)); - _data_mat[4] = ((real_t)(elMat_0_4)); - _data_mat[5] = ((real_t)(elMat_0_5)); - _data_mat[6] = ((real_t)(elMat_0_6)); - _data_mat[7] = ((real_t)(elMat_0_7)); - _data_mat[8] = ((real_t)(elMat_0_8)); - _data_mat[9] = ((real_t)(elMat_0_9)); - _data_mat[10] = ((real_t)(elMat_1_0)); - _data_mat[11] = ((real_t)(elMat_1_1)); - _data_mat[12] = ((real_t)(elMat_1_2)); - _data_mat[13] = ((real_t)(elMat_1_3)); - _data_mat[14] = ((real_t)(elMat_1_4)); - _data_mat[15] = ((real_t)(elMat_1_5)); - _data_mat[16] = ((real_t)(elMat_1_6)); - _data_mat[17] = ((real_t)(elMat_1_7)); - _data_mat[18] = ((real_t)(elMat_1_8)); - _data_mat[19] = ((real_t)(elMat_1_9)); - _data_mat[20] = ((real_t)(elMat_2_0)); - _data_mat[21] = ((real_t)(elMat_2_1)); - _data_mat[22] = ((real_t)(elMat_2_2)); - _data_mat[23] = ((real_t)(elMat_2_3)); - _data_mat[24] = ((real_t)(elMat_2_4)); - _data_mat[25] = ((real_t)(elMat_2_5)); - _data_mat[26] = ((real_t)(elMat_2_6)); - _data_mat[27] = ((real_t)(elMat_2_7)); - _data_mat[28] = ((real_t)(elMat_2_8)); - _data_mat[29] = ((real_t)(elMat_2_9)); - _data_mat[30] = ((real_t)(elMat_3_0)); - _data_mat[31] = ((real_t)(elMat_3_1)); - _data_mat[32] = ((real_t)(elMat_3_2)); - _data_mat[33] = ((real_t)(elMat_3_3)); - _data_mat[34] = ((real_t)(elMat_3_4)); - _data_mat[35] = ((real_t)(elMat_3_5)); - _data_mat[36] = ((real_t)(elMat_3_6)); - _data_mat[37] = ((real_t)(elMat_3_7)); - _data_mat[38] = ((real_t)(elMat_3_8)); - _data_mat[39] = ((real_t)(elMat_3_9)); - _data_mat[40] = ((real_t)(elMat_4_0)); - _data_mat[41] = ((real_t)(elMat_4_1)); - _data_mat[42] = ((real_t)(elMat_4_2)); - _data_mat[43] = ((real_t)(elMat_4_3)); - _data_mat[44] = ((real_t)(elMat_4_4)); - _data_mat[45] = ((real_t)(elMat_4_5)); - _data_mat[46] = ((real_t)(elMat_4_6)); - _data_mat[47] = ((real_t)(elMat_4_7)); - _data_mat[48] = ((real_t)(elMat_4_8)); - _data_mat[49] = ((real_t)(elMat_4_9)); - _data_mat[50] = ((real_t)(elMat_5_0)); - _data_mat[51] = ((real_t)(elMat_5_1)); - _data_mat[52] = ((real_t)(elMat_5_2)); - _data_mat[53] = ((real_t)(elMat_5_3)); - _data_mat[54] = ((real_t)(elMat_5_4)); - _data_mat[55] = ((real_t)(elMat_5_5)); - _data_mat[56] = ((real_t)(elMat_5_6)); - _data_mat[57] = ((real_t)(elMat_5_7)); - _data_mat[58] = ((real_t)(elMat_5_8)); - _data_mat[59] = ((real_t)(elMat_5_9)); - _data_mat[60] = ((real_t)(elMat_6_0)); - _data_mat[61] = ((real_t)(elMat_6_1)); - _data_mat[62] = ((real_t)(elMat_6_2)); - _data_mat[63] = ((real_t)(elMat_6_3)); - _data_mat[64] = ((real_t)(elMat_6_4)); - _data_mat[65] = ((real_t)(elMat_6_5)); - _data_mat[66] = ((real_t)(elMat_6_6)); - _data_mat[67] = ((real_t)(elMat_6_7)); - _data_mat[68] = ((real_t)(elMat_6_8)); - _data_mat[69] = ((real_t)(elMat_6_9)); - _data_mat[70] = ((real_t)(elMat_7_0)); - _data_mat[71] = ((real_t)(elMat_7_1)); - _data_mat[72] = ((real_t)(elMat_7_2)); - _data_mat[73] = ((real_t)(elMat_7_3)); - _data_mat[74] = ((real_t)(elMat_7_4)); - _data_mat[75] = ((real_t)(elMat_7_5)); - _data_mat[76] = ((real_t)(elMat_7_6)); - _data_mat[77] = ((real_t)(elMat_7_7)); - _data_mat[78] = ((real_t)(elMat_7_8)); - _data_mat[79] = ((real_t)(elMat_7_9)); - _data_mat[80] = ((real_t)(elMat_8_0)); - _data_mat[81] = ((real_t)(elMat_8_1)); - _data_mat[82] = ((real_t)(elMat_8_2)); - _data_mat[83] = ((real_t)(elMat_8_3)); - _data_mat[84] = ((real_t)(elMat_8_4)); - _data_mat[85] = ((real_t)(elMat_8_5)); - _data_mat[86] = ((real_t)(elMat_8_6)); - _data_mat[87] = ((real_t)(elMat_8_7)); - _data_mat[88] = ((real_t)(elMat_8_8)); - _data_mat[89] = ((real_t)(elMat_8_9)); - _data_mat[90] = ((real_t)(elMat_9_0)); - _data_mat[91] = ((real_t)(elMat_9_1)); - _data_mat[92] = ((real_t)(elMat_9_2)); - _data_mat[93] = ((real_t)(elMat_9_3)); - _data_mat[94] = ((real_t)(elMat_9_4)); - _data_mat[95] = ((real_t)(elMat_9_5)); - _data_mat[96] = ((real_t)(elMat_9_6)); - _data_mat[97] = ((real_t)(elMat_9_7)); - _data_mat[98] = ((real_t)(elMat_9_8)); - _data_mat[99] = ((real_t)(elMat_9_9)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_0_6)); + _data_mat[7] = ((walberla::float64)(elMat_0_7)); + _data_mat[8] = ((walberla::float64)(elMat_0_8)); + _data_mat[9] = ((walberla::float64)(elMat_0_9)); + _data_mat[10] = ((walberla::float64)(elMat_1_0)); + _data_mat[11] = ((walberla::float64)(elMat_1_1)); + _data_mat[12] = ((walberla::float64)(elMat_1_2)); + _data_mat[13] = ((walberla::float64)(elMat_1_3)); + _data_mat[14] = ((walberla::float64)(elMat_1_4)); + _data_mat[15] = ((walberla::float64)(elMat_1_5)); + _data_mat[16] = ((walberla::float64)(elMat_1_6)); + _data_mat[17] = ((walberla::float64)(elMat_1_7)); + _data_mat[18] = ((walberla::float64)(elMat_1_8)); + _data_mat[19] = ((walberla::float64)(elMat_1_9)); + _data_mat[20] = ((walberla::float64)(elMat_2_0)); + _data_mat[21] = ((walberla::float64)(elMat_2_1)); + _data_mat[22] = ((walberla::float64)(elMat_2_2)); + _data_mat[23] = ((walberla::float64)(elMat_2_3)); + _data_mat[24] = ((walberla::float64)(elMat_2_4)); + _data_mat[25] = ((walberla::float64)(elMat_2_5)); + _data_mat[26] = ((walberla::float64)(elMat_2_6)); + _data_mat[27] = ((walberla::float64)(elMat_2_7)); + _data_mat[28] = ((walberla::float64)(elMat_2_8)); + _data_mat[29] = ((walberla::float64)(elMat_2_9)); + _data_mat[30] = ((walberla::float64)(elMat_3_0)); + _data_mat[31] = ((walberla::float64)(elMat_3_1)); + _data_mat[32] = ((walberla::float64)(elMat_3_2)); + _data_mat[33] = ((walberla::float64)(elMat_3_3)); + _data_mat[34] = ((walberla::float64)(elMat_3_4)); + _data_mat[35] = ((walberla::float64)(elMat_3_5)); + _data_mat[36] = ((walberla::float64)(elMat_3_6)); + _data_mat[37] = ((walberla::float64)(elMat_3_7)); + _data_mat[38] = ((walberla::float64)(elMat_3_8)); + _data_mat[39] = ((walberla::float64)(elMat_3_9)); + _data_mat[40] = ((walberla::float64)(elMat_4_0)); + _data_mat[41] = ((walberla::float64)(elMat_4_1)); + _data_mat[42] = ((walberla::float64)(elMat_4_2)); + _data_mat[43] = ((walberla::float64)(elMat_4_3)); + _data_mat[44] = ((walberla::float64)(elMat_4_4)); + _data_mat[45] = ((walberla::float64)(elMat_4_5)); + _data_mat[46] = ((walberla::float64)(elMat_4_6)); + _data_mat[47] = ((walberla::float64)(elMat_4_7)); + _data_mat[48] = ((walberla::float64)(elMat_4_8)); + _data_mat[49] = ((walberla::float64)(elMat_4_9)); + _data_mat[50] = ((walberla::float64)(elMat_5_0)); + _data_mat[51] = ((walberla::float64)(elMat_5_1)); + _data_mat[52] = ((walberla::float64)(elMat_5_2)); + _data_mat[53] = ((walberla::float64)(elMat_5_3)); + _data_mat[54] = ((walberla::float64)(elMat_5_4)); + _data_mat[55] = ((walberla::float64)(elMat_5_5)); + _data_mat[56] = ((walberla::float64)(elMat_5_6)); + _data_mat[57] = ((walberla::float64)(elMat_5_7)); + _data_mat[58] = ((walberla::float64)(elMat_5_8)); + _data_mat[59] = ((walberla::float64)(elMat_5_9)); + _data_mat[60] = ((walberla::float64)(elMat_6_0)); + _data_mat[61] = ((walberla::float64)(elMat_6_1)); + _data_mat[62] = ((walberla::float64)(elMat_6_2)); + _data_mat[63] = ((walberla::float64)(elMat_6_3)); + _data_mat[64] = ((walberla::float64)(elMat_6_4)); + _data_mat[65] = ((walberla::float64)(elMat_6_5)); + _data_mat[66] = ((walberla::float64)(elMat_6_6)); + _data_mat[67] = ((walberla::float64)(elMat_6_7)); + _data_mat[68] = ((walberla::float64)(elMat_6_8)); + _data_mat[69] = ((walberla::float64)(elMat_6_9)); + _data_mat[70] = ((walberla::float64)(elMat_7_0)); + _data_mat[71] = ((walberla::float64)(elMat_7_1)); + _data_mat[72] = ((walberla::float64)(elMat_7_2)); + _data_mat[73] = ((walberla::float64)(elMat_7_3)); + _data_mat[74] = ((walberla::float64)(elMat_7_4)); + _data_mat[75] = ((walberla::float64)(elMat_7_5)); + _data_mat[76] = ((walberla::float64)(elMat_7_6)); + _data_mat[77] = ((walberla::float64)(elMat_7_7)); + _data_mat[78] = ((walberla::float64)(elMat_7_8)); + _data_mat[79] = ((walberla::float64)(elMat_7_9)); + _data_mat[80] = ((walberla::float64)(elMat_8_0)); + _data_mat[81] = ((walberla::float64)(elMat_8_1)); + _data_mat[82] = ((walberla::float64)(elMat_8_2)); + _data_mat[83] = ((walberla::float64)(elMat_8_3)); + _data_mat[84] = ((walberla::float64)(elMat_8_4)); + _data_mat[85] = ((walberla::float64)(elMat_8_5)); + _data_mat[86] = ((walberla::float64)(elMat_8_6)); + _data_mat[87] = ((walberla::float64)(elMat_8_7)); + _data_mat[88] = ((walberla::float64)(elMat_8_8)); + _data_mat[89] = ((walberla::float64)(elMat_8_9)); + _data_mat[90] = ((walberla::float64)(elMat_9_0)); + _data_mat[91] = ((walberla::float64)(elMat_9_1)); + _data_mat[92] = ((walberla::float64)(elMat_9_2)); + _data_mat[93] = ((walberla::float64)(elMat_9_3)); + _data_mat[94] = ((walberla::float64)(elMat_9_4)); + _data_mat[95] = ((walberla::float64)(elMat_9_5)); + _data_mat[96] = ((walberla::float64)(elMat_9_6)); + _data_mat[97] = ((walberla::float64)(elMat_9_7)); + _data_mat[98] = ((walberla::float64)(elMat_9_8)); + _data_mat[99] = ((walberla::float64)(elMat_9_9)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_3_WHITE_DOWN = tmp_1_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t tmp_4_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_5_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_WHITE_DOWN = tmp_4_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t tmp_7_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_8_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_9_WHITE_DOWN = tmp_7_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t tmp_10_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_11_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_12_WHITE_DOWN = tmp_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; - const real_t p_affine_const_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; - const real_t p_affine_const_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; - const real_t p_affine_const_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; - const real_t p_affine_const_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; - const real_t p_affine_const_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; - const real_t p_affine_const_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; - const real_t p_affine_const_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; - const real_t p_affine_const_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; - const real_t p_affine_const_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; - const real_t p_affine_const_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; - const real_t p_affine_const_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; - const real_t jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; - const real_t jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; - const real_t jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; - const real_t jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; - const real_t jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; - const real_t tmp_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; - const real_t jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; - const real_t tmp_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; - const real_t jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; - const real_t jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; - const real_t tmp_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; - const real_t jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; - const real_t tmp_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; - const real_t tmp_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_17_WHITE_DOWN; - const real_t tmp_19_WHITE_DOWN = 1.0 / (tmp_18_WHITE_DOWN); - const real_t jac_affine_inv_0_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_13_WHITE_DOWN - tmp_14_WHITE_DOWN); - const real_t jac_affine_inv_0_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_16_WHITE_DOWN); - const real_t jac_affine_inv_0_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(tmp_15_WHITE_DOWN - tmp_17_WHITE_DOWN); - const real_t jac_affine_inv_1_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_1_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t jac_affine_inv_2_0_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_1_WHITE_DOWN = tmp_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); - const real_t jac_affine_inv_2_2_WHITE_DOWN = tmp_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); - const real_t abs_det_jac_affine_WHITE_DOWN = abs(tmp_18_WHITE_DOWN); + const walberla::float64 tmp_coords_jac_0_WHITE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 tmp_coords_jac_1_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 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 walberla::float64 tmp_coords_jac_3_WHITE_DOWN = tmp_coords_jac_1_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_4_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 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 walberla::float64 tmp_coords_jac_6_WHITE_DOWN = tmp_coords_jac_4_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_7_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 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 walberla::float64 tmp_coords_jac_9_WHITE_DOWN = tmp_coords_jac_7_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_10_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_11_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_12_WHITE_DOWN = tmp_coords_jac_0_WHITE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_WHITE_DOWN = tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_0_1_WHITE_DOWN = tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_0_2_WHITE_DOWN = tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 p_affine_const_1_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_2_WHITE_DOWN; + const walberla::float64 p_affine_const_1_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_5_WHITE_DOWN; + const walberla::float64 p_affine_const_1_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_8_WHITE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_WHITE_DOWN = tmp_coords_jac_10_WHITE_DOWN + tmp_coords_jac_3_WHITE_DOWN; + const walberla::float64 p_affine_const_3_1_WHITE_DOWN = tmp_coords_jac_11_WHITE_DOWN + tmp_coords_jac_6_WHITE_DOWN; + const walberla::float64 p_affine_const_3_2_WHITE_DOWN = tmp_coords_jac_12_WHITE_DOWN + tmp_coords_jac_9_WHITE_DOWN; + const walberla::float64 jac_affine_0_0_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_1_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_1_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_2_0_WHITE_DOWN; + const walberla::float64 jac_affine_0_2_WHITE_DOWN = -p_affine_const_0_0_WHITE_DOWN + p_affine_const_3_0_WHITE_DOWN; + const walberla::float64 jac_affine_1_0_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_1_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_2_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_17_WHITE_DOWN = jac_affine_0_2_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN; + const walberla::float64 jac_affine_1_2_WHITE_DOWN = -p_affine_const_0_1_WHITE_DOWN + p_affine_const_3_1_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_15_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_0_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_1_2_WHITE_DOWN; + const walberla::float64 jac_affine_2_1_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_14_WHITE_DOWN = jac_affine_1_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN; + const walberla::float64 jac_affine_2_2_WHITE_DOWN = -p_affine_const_0_2_WHITE_DOWN + p_affine_const_3_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_13_WHITE_DOWN = jac_affine_1_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_16_WHITE_DOWN = jac_affine_0_1_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_18_WHITE_DOWN = jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_13_WHITE_DOWN - jac_affine_0_0_WHITE_DOWN*tmp_coords_jac_14_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_0_WHITE_DOWN*tmp_coords_jac_16_WHITE_DOWN + jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_15_WHITE_DOWN - jac_affine_2_0_WHITE_DOWN*tmp_coords_jac_17_WHITE_DOWN; + const walberla::float64 tmp_coords_jac_19_WHITE_DOWN = 1.0 / (tmp_coords_jac_18_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_13_WHITE_DOWN - tmp_coords_jac_14_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_2_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - tmp_coords_jac_16_WHITE_DOWN); + const walberla::float64 jac_affine_inv_0_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(tmp_coords_jac_15_WHITE_DOWN - tmp_coords_jac_17_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_1_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN + jac_affine_1_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_2_2_WHITE_DOWN - jac_affine_0_2_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_1_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_1_2_WHITE_DOWN + jac_affine_0_2_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_0_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_1_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN - jac_affine_1_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_1_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(-jac_affine_0_0_WHITE_DOWN*jac_affine_2_1_WHITE_DOWN + jac_affine_0_1_WHITE_DOWN*jac_affine_2_0_WHITE_DOWN); + const walberla::float64 jac_affine_inv_2_2_WHITE_DOWN = tmp_coords_jac_19_WHITE_DOWN*(jac_affine_0_0_WHITE_DOWN*jac_affine_1_1_WHITE_DOWN - jac_affine_0_1_WHITE_DOWN*jac_affine_1_0_WHITE_DOWN); + const walberla::float64 abs_det_jac_affine_WHITE_DOWN = abs(tmp_coords_jac_18_WHITE_DOWN); { /* CellType.WHITE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_q_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_WHITE_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_WHITE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_WHITE_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_WHITE_DOWN*jac_affine_inv_0_0_WHITE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_WHITE_DOWN*jac_affine_inv_0_1_WHITE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_WHITE_DOWN*jac_affine_inv_0_2_WHITE_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_WHITE_DOWN*jac_affine_inv_1_0_WHITE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_WHITE_DOWN*jac_affine_inv_1_1_WHITE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_WHITE_DOWN*jac_affine_inv_1_2_WHITE_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_WHITE_DOWN*jac_affine_inv_2_0_WHITE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_WHITE_DOWN*jac_affine_inv_2_1_WHITE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_WHITE_DOWN*jac_affine_inv_2_2_WHITE_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_WHITE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_WHITE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_WHITE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -944,110 +944,110 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMat_0_0 = q_acc_0_0; - const real_t elMat_0_1 = q_acc_0_1; - const real_t elMat_0_2 = q_acc_0_2; - const real_t elMat_0_3 = q_acc_0_3; - const real_t elMat_0_4 = q_acc_0_4; - const real_t elMat_0_5 = q_acc_0_5; - const real_t elMat_0_6 = q_acc_0_6; - const real_t elMat_0_7 = q_acc_0_7; - const real_t elMat_0_8 = q_acc_0_8; - const real_t elMat_0_9 = q_acc_0_9; - const real_t elMat_1_0 = q_acc_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; - const real_t elMat_3_4 = q_acc_3_4; - const real_t elMat_3_5 = q_acc_3_5; - const real_t elMat_3_6 = q_acc_3_6; - const real_t elMat_3_7 = q_acc_3_7; - const real_t elMat_3_8 = q_acc_3_8; - const real_t elMat_3_9 = q_acc_3_9; - const real_t elMat_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_4_6 = q_acc_4_6; - const real_t elMat_4_7 = q_acc_4_7; - const real_t elMat_4_8 = q_acc_4_8; - const real_t elMat_4_9 = q_acc_4_9; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; - const real_t elMat_5_6 = q_acc_5_6; - const real_t elMat_5_7 = q_acc_5_7; - const real_t elMat_5_8 = q_acc_5_8; - const real_t elMat_5_9 = q_acc_5_9; - const real_t elMat_6_0 = q_acc_0_6; - const real_t elMat_6_1 = q_acc_1_6; - const real_t elMat_6_2 = q_acc_2_6; - const real_t elMat_6_3 = q_acc_3_6; - const real_t elMat_6_4 = q_acc_4_6; - const real_t elMat_6_5 = q_acc_5_6; - const real_t elMat_6_6 = q_acc_6_6; - const real_t elMat_6_7 = q_acc_6_7; - const real_t elMat_6_8 = q_acc_6_8; - const real_t elMat_6_9 = q_acc_6_9; - const real_t elMat_7_0 = q_acc_0_7; - const real_t elMat_7_1 = q_acc_1_7; - const real_t elMat_7_2 = q_acc_2_7; - const real_t elMat_7_3 = q_acc_3_7; - const real_t elMat_7_4 = q_acc_4_7; - const real_t elMat_7_5 = q_acc_5_7; - const real_t elMat_7_6 = q_acc_6_7; - const real_t elMat_7_7 = q_acc_7_7; - const real_t elMat_7_8 = q_acc_7_8; - const real_t elMat_7_9 = q_acc_7_9; - const real_t elMat_8_0 = q_acc_0_8; - const real_t elMat_8_1 = q_acc_1_8; - const real_t elMat_8_2 = q_acc_2_8; - const real_t elMat_8_3 = q_acc_3_8; - const real_t elMat_8_4 = q_acc_4_8; - const real_t elMat_8_5 = q_acc_5_8; - const real_t elMat_8_6 = q_acc_6_8; - const real_t elMat_8_7 = q_acc_7_8; - const real_t elMat_8_8 = q_acc_8_8; - const real_t elMat_8_9 = q_acc_8_9; - const real_t elMat_9_0 = q_acc_0_9; - const real_t elMat_9_1 = q_acc_1_9; - const real_t elMat_9_2 = q_acc_2_9; - const real_t elMat_9_3 = q_acc_3_9; - const real_t elMat_9_4 = q_acc_4_9; - const real_t elMat_9_5 = q_acc_5_9; - const real_t elMat_9_6 = q_acc_6_9; - const real_t elMat_9_7 = q_acc_7_9; - const real_t elMat_9_8 = q_acc_8_9; - const real_t elMat_9_9 = q_acc_9_9; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_0_6 = q_acc_0_6; + const walberla::float64 elMat_0_7 = q_acc_0_7; + const walberla::float64 elMat_0_8 = q_acc_0_8; + const walberla::float64 elMat_0_9 = q_acc_0_9; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_1_6 = q_acc_1_6; + const walberla::float64 elMat_1_7 = q_acc_1_7; + const walberla::float64 elMat_1_8 = q_acc_1_8; + const walberla::float64 elMat_1_9 = q_acc_1_9; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_2_6 = q_acc_2_6; + const walberla::float64 elMat_2_7 = q_acc_2_7; + const walberla::float64 elMat_2_8 = q_acc_2_8; + const walberla::float64 elMat_2_9 = q_acc_2_9; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_3_6 = q_acc_3_6; + const walberla::float64 elMat_3_7 = q_acc_3_7; + const walberla::float64 elMat_3_8 = q_acc_3_8; + const walberla::float64 elMat_3_9 = q_acc_3_9; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_4_6 = q_acc_4_6; + const walberla::float64 elMat_4_7 = q_acc_4_7; + const walberla::float64 elMat_4_8 = q_acc_4_8; + const walberla::float64 elMat_4_9 = q_acc_4_9; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_5_6 = q_acc_5_6; + const walberla::float64 elMat_5_7 = q_acc_5_7; + const walberla::float64 elMat_5_8 = q_acc_5_8; + const walberla::float64 elMat_5_9 = q_acc_5_9; + const walberla::float64 elMat_6_0 = q_acc_0_6; + const walberla::float64 elMat_6_1 = q_acc_1_6; + const walberla::float64 elMat_6_2 = q_acc_2_6; + const walberla::float64 elMat_6_3 = q_acc_3_6; + const walberla::float64 elMat_6_4 = q_acc_4_6; + const walberla::float64 elMat_6_5 = q_acc_5_6; + const walberla::float64 elMat_6_6 = q_acc_6_6; + const walberla::float64 elMat_6_7 = q_acc_6_7; + const walberla::float64 elMat_6_8 = q_acc_6_8; + const walberla::float64 elMat_6_9 = q_acc_6_9; + const walberla::float64 elMat_7_0 = q_acc_0_7; + const walberla::float64 elMat_7_1 = q_acc_1_7; + const walberla::float64 elMat_7_2 = q_acc_2_7; + const walberla::float64 elMat_7_3 = q_acc_3_7; + const walberla::float64 elMat_7_4 = q_acc_4_7; + const walberla::float64 elMat_7_5 = q_acc_5_7; + const walberla::float64 elMat_7_6 = q_acc_6_7; + const walberla::float64 elMat_7_7 = q_acc_7_7; + const walberla::float64 elMat_7_8 = q_acc_7_8; + const walberla::float64 elMat_7_9 = q_acc_7_9; + const walberla::float64 elMat_8_0 = q_acc_0_8; + const walberla::float64 elMat_8_1 = q_acc_1_8; + const walberla::float64 elMat_8_2 = q_acc_2_8; + const walberla::float64 elMat_8_3 = q_acc_3_8; + const walberla::float64 elMat_8_4 = q_acc_4_8; + const walberla::float64 elMat_8_5 = q_acc_5_8; + const walberla::float64 elMat_8_6 = q_acc_6_8; + const walberla::float64 elMat_8_7 = q_acc_7_8; + const walberla::float64 elMat_8_8 = q_acc_8_8; + const walberla::float64 elMat_8_9 = q_acc_8_9; + const walberla::float64 elMat_9_0 = q_acc_0_9; + const walberla::float64 elMat_9_1 = q_acc_1_9; + const walberla::float64 elMat_9_2 = q_acc_2_9; + const walberla::float64 elMat_9_3 = q_acc_3_9; + const walberla::float64 elMat_9_4 = q_acc_4_9; + const walberla::float64 elMat_9_5 = q_acc_5_9; + const walberla::float64 elMat_9_6 = q_acc_6_9; + const walberla::float64 elMat_9_7 = q_acc_7_9; + const walberla::float64 elMat_9_8 = q_acc_8_9; + const walberla::float64 elMat_9_9 = q_acc_9_9; std::vector< uint_t > _data_rowIdx( 10 ); std::vector< uint_t > _data_colIdx( 10 ); - std::vector< real_t > _data_mat( 100 ); + std::vector< walberla::float64 > _data_mat( 100 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); @@ -1074,376 +1074,376 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, - _data_mat[0] = ((real_t)(elMat_0_0)); - _data_mat[1] = ((real_t)(elMat_0_1)); - _data_mat[2] = ((real_t)(elMat_0_2)); - _data_mat[3] = ((real_t)(elMat_0_3)); - _data_mat[4] = ((real_t)(elMat_0_4)); - _data_mat[5] = ((real_t)(elMat_0_5)); - _data_mat[6] = ((real_t)(elMat_0_6)); - _data_mat[7] = ((real_t)(elMat_0_7)); - _data_mat[8] = ((real_t)(elMat_0_8)); - _data_mat[9] = ((real_t)(elMat_0_9)); - _data_mat[10] = ((real_t)(elMat_1_0)); - _data_mat[11] = ((real_t)(elMat_1_1)); - _data_mat[12] = ((real_t)(elMat_1_2)); - _data_mat[13] = ((real_t)(elMat_1_3)); - _data_mat[14] = ((real_t)(elMat_1_4)); - _data_mat[15] = ((real_t)(elMat_1_5)); - _data_mat[16] = ((real_t)(elMat_1_6)); - _data_mat[17] = ((real_t)(elMat_1_7)); - _data_mat[18] = ((real_t)(elMat_1_8)); - _data_mat[19] = ((real_t)(elMat_1_9)); - _data_mat[20] = ((real_t)(elMat_2_0)); - _data_mat[21] = ((real_t)(elMat_2_1)); - _data_mat[22] = ((real_t)(elMat_2_2)); - _data_mat[23] = ((real_t)(elMat_2_3)); - _data_mat[24] = ((real_t)(elMat_2_4)); - _data_mat[25] = ((real_t)(elMat_2_5)); - _data_mat[26] = ((real_t)(elMat_2_6)); - _data_mat[27] = ((real_t)(elMat_2_7)); - _data_mat[28] = ((real_t)(elMat_2_8)); - _data_mat[29] = ((real_t)(elMat_2_9)); - _data_mat[30] = ((real_t)(elMat_3_0)); - _data_mat[31] = ((real_t)(elMat_3_1)); - _data_mat[32] = ((real_t)(elMat_3_2)); - _data_mat[33] = ((real_t)(elMat_3_3)); - _data_mat[34] = ((real_t)(elMat_3_4)); - _data_mat[35] = ((real_t)(elMat_3_5)); - _data_mat[36] = ((real_t)(elMat_3_6)); - _data_mat[37] = ((real_t)(elMat_3_7)); - _data_mat[38] = ((real_t)(elMat_3_8)); - _data_mat[39] = ((real_t)(elMat_3_9)); - _data_mat[40] = ((real_t)(elMat_4_0)); - _data_mat[41] = ((real_t)(elMat_4_1)); - _data_mat[42] = ((real_t)(elMat_4_2)); - _data_mat[43] = ((real_t)(elMat_4_3)); - _data_mat[44] = ((real_t)(elMat_4_4)); - _data_mat[45] = ((real_t)(elMat_4_5)); - _data_mat[46] = ((real_t)(elMat_4_6)); - _data_mat[47] = ((real_t)(elMat_4_7)); - _data_mat[48] = ((real_t)(elMat_4_8)); - _data_mat[49] = ((real_t)(elMat_4_9)); - _data_mat[50] = ((real_t)(elMat_5_0)); - _data_mat[51] = ((real_t)(elMat_5_1)); - _data_mat[52] = ((real_t)(elMat_5_2)); - _data_mat[53] = ((real_t)(elMat_5_3)); - _data_mat[54] = ((real_t)(elMat_5_4)); - _data_mat[55] = ((real_t)(elMat_5_5)); - _data_mat[56] = ((real_t)(elMat_5_6)); - _data_mat[57] = ((real_t)(elMat_5_7)); - _data_mat[58] = ((real_t)(elMat_5_8)); - _data_mat[59] = ((real_t)(elMat_5_9)); - _data_mat[60] = ((real_t)(elMat_6_0)); - _data_mat[61] = ((real_t)(elMat_6_1)); - _data_mat[62] = ((real_t)(elMat_6_2)); - _data_mat[63] = ((real_t)(elMat_6_3)); - _data_mat[64] = ((real_t)(elMat_6_4)); - _data_mat[65] = ((real_t)(elMat_6_5)); - _data_mat[66] = ((real_t)(elMat_6_6)); - _data_mat[67] = ((real_t)(elMat_6_7)); - _data_mat[68] = ((real_t)(elMat_6_8)); - _data_mat[69] = ((real_t)(elMat_6_9)); - _data_mat[70] = ((real_t)(elMat_7_0)); - _data_mat[71] = ((real_t)(elMat_7_1)); - _data_mat[72] = ((real_t)(elMat_7_2)); - _data_mat[73] = ((real_t)(elMat_7_3)); - _data_mat[74] = ((real_t)(elMat_7_4)); - _data_mat[75] = ((real_t)(elMat_7_5)); - _data_mat[76] = ((real_t)(elMat_7_6)); - _data_mat[77] = ((real_t)(elMat_7_7)); - _data_mat[78] = ((real_t)(elMat_7_8)); - _data_mat[79] = ((real_t)(elMat_7_9)); - _data_mat[80] = ((real_t)(elMat_8_0)); - _data_mat[81] = ((real_t)(elMat_8_1)); - _data_mat[82] = ((real_t)(elMat_8_2)); - _data_mat[83] = ((real_t)(elMat_8_3)); - _data_mat[84] = ((real_t)(elMat_8_4)); - _data_mat[85] = ((real_t)(elMat_8_5)); - _data_mat[86] = ((real_t)(elMat_8_6)); - _data_mat[87] = ((real_t)(elMat_8_7)); - _data_mat[88] = ((real_t)(elMat_8_8)); - _data_mat[89] = ((real_t)(elMat_8_9)); - _data_mat[90] = ((real_t)(elMat_9_0)); - _data_mat[91] = ((real_t)(elMat_9_1)); - _data_mat[92] = ((real_t)(elMat_9_2)); - _data_mat[93] = ((real_t)(elMat_9_3)); - _data_mat[94] = ((real_t)(elMat_9_4)); - _data_mat[95] = ((real_t)(elMat_9_5)); - _data_mat[96] = ((real_t)(elMat_9_6)); - _data_mat[97] = ((real_t)(elMat_9_7)); - _data_mat[98] = ((real_t)(elMat_9_8)); - _data_mat[99] = ((real_t)(elMat_9_9)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_0_6)); + _data_mat[7] = ((walberla::float64)(elMat_0_7)); + _data_mat[8] = ((walberla::float64)(elMat_0_8)); + _data_mat[9] = ((walberla::float64)(elMat_0_9)); + _data_mat[10] = ((walberla::float64)(elMat_1_0)); + _data_mat[11] = ((walberla::float64)(elMat_1_1)); + _data_mat[12] = ((walberla::float64)(elMat_1_2)); + _data_mat[13] = ((walberla::float64)(elMat_1_3)); + _data_mat[14] = ((walberla::float64)(elMat_1_4)); + _data_mat[15] = ((walberla::float64)(elMat_1_5)); + _data_mat[16] = ((walberla::float64)(elMat_1_6)); + _data_mat[17] = ((walberla::float64)(elMat_1_7)); + _data_mat[18] = ((walberla::float64)(elMat_1_8)); + _data_mat[19] = ((walberla::float64)(elMat_1_9)); + _data_mat[20] = ((walberla::float64)(elMat_2_0)); + _data_mat[21] = ((walberla::float64)(elMat_2_1)); + _data_mat[22] = ((walberla::float64)(elMat_2_2)); + _data_mat[23] = ((walberla::float64)(elMat_2_3)); + _data_mat[24] = ((walberla::float64)(elMat_2_4)); + _data_mat[25] = ((walberla::float64)(elMat_2_5)); + _data_mat[26] = ((walberla::float64)(elMat_2_6)); + _data_mat[27] = ((walberla::float64)(elMat_2_7)); + _data_mat[28] = ((walberla::float64)(elMat_2_8)); + _data_mat[29] = ((walberla::float64)(elMat_2_9)); + _data_mat[30] = ((walberla::float64)(elMat_3_0)); + _data_mat[31] = ((walberla::float64)(elMat_3_1)); + _data_mat[32] = ((walberla::float64)(elMat_3_2)); + _data_mat[33] = ((walberla::float64)(elMat_3_3)); + _data_mat[34] = ((walberla::float64)(elMat_3_4)); + _data_mat[35] = ((walberla::float64)(elMat_3_5)); + _data_mat[36] = ((walberla::float64)(elMat_3_6)); + _data_mat[37] = ((walberla::float64)(elMat_3_7)); + _data_mat[38] = ((walberla::float64)(elMat_3_8)); + _data_mat[39] = ((walberla::float64)(elMat_3_9)); + _data_mat[40] = ((walberla::float64)(elMat_4_0)); + _data_mat[41] = ((walberla::float64)(elMat_4_1)); + _data_mat[42] = ((walberla::float64)(elMat_4_2)); + _data_mat[43] = ((walberla::float64)(elMat_4_3)); + _data_mat[44] = ((walberla::float64)(elMat_4_4)); + _data_mat[45] = ((walberla::float64)(elMat_4_5)); + _data_mat[46] = ((walberla::float64)(elMat_4_6)); + _data_mat[47] = ((walberla::float64)(elMat_4_7)); + _data_mat[48] = ((walberla::float64)(elMat_4_8)); + _data_mat[49] = ((walberla::float64)(elMat_4_9)); + _data_mat[50] = ((walberla::float64)(elMat_5_0)); + _data_mat[51] = ((walberla::float64)(elMat_5_1)); + _data_mat[52] = ((walberla::float64)(elMat_5_2)); + _data_mat[53] = ((walberla::float64)(elMat_5_3)); + _data_mat[54] = ((walberla::float64)(elMat_5_4)); + _data_mat[55] = ((walberla::float64)(elMat_5_5)); + _data_mat[56] = ((walberla::float64)(elMat_5_6)); + _data_mat[57] = ((walberla::float64)(elMat_5_7)); + _data_mat[58] = ((walberla::float64)(elMat_5_8)); + _data_mat[59] = ((walberla::float64)(elMat_5_9)); + _data_mat[60] = ((walberla::float64)(elMat_6_0)); + _data_mat[61] = ((walberla::float64)(elMat_6_1)); + _data_mat[62] = ((walberla::float64)(elMat_6_2)); + _data_mat[63] = ((walberla::float64)(elMat_6_3)); + _data_mat[64] = ((walberla::float64)(elMat_6_4)); + _data_mat[65] = ((walberla::float64)(elMat_6_5)); + _data_mat[66] = ((walberla::float64)(elMat_6_6)); + _data_mat[67] = ((walberla::float64)(elMat_6_7)); + _data_mat[68] = ((walberla::float64)(elMat_6_8)); + _data_mat[69] = ((walberla::float64)(elMat_6_9)); + _data_mat[70] = ((walberla::float64)(elMat_7_0)); + _data_mat[71] = ((walberla::float64)(elMat_7_1)); + _data_mat[72] = ((walberla::float64)(elMat_7_2)); + _data_mat[73] = ((walberla::float64)(elMat_7_3)); + _data_mat[74] = ((walberla::float64)(elMat_7_4)); + _data_mat[75] = ((walberla::float64)(elMat_7_5)); + _data_mat[76] = ((walberla::float64)(elMat_7_6)); + _data_mat[77] = ((walberla::float64)(elMat_7_7)); + _data_mat[78] = ((walberla::float64)(elMat_7_8)); + _data_mat[79] = ((walberla::float64)(elMat_7_9)); + _data_mat[80] = ((walberla::float64)(elMat_8_0)); + _data_mat[81] = ((walberla::float64)(elMat_8_1)); + _data_mat[82] = ((walberla::float64)(elMat_8_2)); + _data_mat[83] = ((walberla::float64)(elMat_8_3)); + _data_mat[84] = ((walberla::float64)(elMat_8_4)); + _data_mat[85] = ((walberla::float64)(elMat_8_5)); + _data_mat[86] = ((walberla::float64)(elMat_8_6)); + _data_mat[87] = ((walberla::float64)(elMat_8_7)); + _data_mat[88] = ((walberla::float64)(elMat_8_8)); + _data_mat[89] = ((walberla::float64)(elMat_8_9)); + _data_mat[90] = ((walberla::float64)(elMat_9_0)); + _data_mat[91] = ((walberla::float64)(elMat_9_1)); + _data_mat[92] = ((walberla::float64)(elMat_9_2)); + _data_mat[93] = ((walberla::float64)(elMat_9_3)); + _data_mat[94] = ((walberla::float64)(elMat_9_4)); + _data_mat[95] = ((walberla::float64)(elMat_9_5)); + _data_mat[96] = ((walberla::float64)(elMat_9_6)); + _data_mat[97] = ((walberla::float64)(elMat_9_7)); + _data_mat[98] = ((walberla::float64)(elMat_9_8)); + _data_mat[99] = ((walberla::float64)(elMat_9_9)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_5_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_6_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t p_affine_const_0_0_BLUE_UP = tmp_1_BLUE_UP; - const real_t p_affine_const_0_1_BLUE_UP = tmp_2_BLUE_UP; - const real_t p_affine_const_0_2_BLUE_UP = tmp_3_BLUE_UP; - const real_t p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; - const real_t p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; - const real_t p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; - const real_t p_affine_const_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; - const real_t p_affine_const_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; - const real_t p_affine_const_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; - const real_t p_affine_const_3_0_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0) + tmp_1_BLUE_UP; - const real_t p_affine_const_3_1_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1) + tmp_2_BLUE_UP; - const real_t p_affine_const_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; - const real_t jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; - const real_t jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; - const real_t jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; - const real_t jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; - const real_t jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; - const real_t tmp_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; - const real_t jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; - const real_t tmp_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; - const real_t jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; - const real_t jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; - const real_t tmp_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; - const real_t jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; - const real_t tmp_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; - const real_t tmp_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_9_BLUE_UP; - const real_t tmp_13_BLUE_UP = 1.0 / (tmp_12_BLUE_UP); - const real_t jac_affine_inv_0_0_BLUE_UP = tmp_13_BLUE_UP*(tmp_7_BLUE_UP - tmp_8_BLUE_UP); - const real_t jac_affine_inv_0_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_10_BLUE_UP); - const real_t jac_affine_inv_0_2_BLUE_UP = tmp_13_BLUE_UP*(-tmp_11_BLUE_UP + tmp_9_BLUE_UP); - const real_t jac_affine_inv_1_0_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_1_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_1_2_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t jac_affine_inv_2_0_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_1_BLUE_UP = tmp_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); - const real_t jac_affine_inv_2_2_BLUE_UP = tmp_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); - const real_t abs_det_jac_affine_BLUE_UP = abs(tmp_12_BLUE_UP); + const walberla::float64 tmp_coords_jac_0_BLUE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + const walberla::float64 tmp_coords_jac_6_BLUE_UP = tmp_coords_jac_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); + const walberla::float64 p_affine_const_0_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP; + const walberla::float64 p_affine_const_0_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP; + const walberla::float64 p_affine_const_0_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP; + const walberla::float64 p_affine_const_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 p_affine_const_2_0_BLUE_UP = tmp_coords_jac_1_BLUE_UP + tmp_coords_jac_4_BLUE_UP; + const walberla::float64 p_affine_const_2_1_BLUE_UP = tmp_coords_jac_2_BLUE_UP + tmp_coords_jac_5_BLUE_UP; + const walberla::float64 p_affine_const_2_2_BLUE_UP = tmp_coords_jac_3_BLUE_UP + tmp_coords_jac_6_BLUE_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 jac_affine_0_0_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_1_0_BLUE_UP; + const walberla::float64 jac_affine_0_1_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_2_0_BLUE_UP; + const walberla::float64 jac_affine_0_2_BLUE_UP = -p_affine_const_0_0_BLUE_UP + p_affine_const_3_0_BLUE_UP; + const walberla::float64 jac_affine_1_0_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_1_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_2_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_11_BLUE_UP = jac_affine_0_2_BLUE_UP*jac_affine_1_1_BLUE_UP; + const walberla::float64 jac_affine_1_2_BLUE_UP = -p_affine_const_0_1_BLUE_UP + p_affine_const_3_1_BLUE_UP; + const walberla::float64 tmp_coords_jac_9_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_0_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_1_2_BLUE_UP; + const walberla::float64 jac_affine_2_1_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_8_BLUE_UP = jac_affine_1_2_BLUE_UP*jac_affine_2_1_BLUE_UP; + const walberla::float64 jac_affine_2_2_BLUE_UP = -p_affine_const_0_2_BLUE_UP + p_affine_const_3_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_7_BLUE_UP = jac_affine_1_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_10_BLUE_UP = jac_affine_0_1_BLUE_UP*jac_affine_2_2_BLUE_UP; + const walberla::float64 tmp_coords_jac_12_BLUE_UP = jac_affine_0_0_BLUE_UP*tmp_coords_jac_7_BLUE_UP - jac_affine_0_0_BLUE_UP*tmp_coords_jac_8_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_0_BLUE_UP*tmp_coords_jac_10_BLUE_UP - jac_affine_2_0_BLUE_UP*tmp_coords_jac_11_BLUE_UP + jac_affine_2_0_BLUE_UP*tmp_coords_jac_9_BLUE_UP; + const walberla::float64 tmp_coords_jac_13_BLUE_UP = 1.0 / (tmp_coords_jac_12_BLUE_UP); + const walberla::float64 jac_affine_inv_0_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(tmp_coords_jac_7_BLUE_UP - tmp_coords_jac_8_BLUE_UP); + const walberla::float64 jac_affine_inv_0_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_2_BLUE_UP*jac_affine_2_1_BLUE_UP - tmp_coords_jac_10_BLUE_UP); + const walberla::float64 jac_affine_inv_0_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-tmp_coords_jac_11_BLUE_UP + tmp_coords_jac_9_BLUE_UP); + const walberla::float64 jac_affine_inv_1_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_1_0_BLUE_UP*jac_affine_2_2_BLUE_UP + jac_affine_1_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_2_2_BLUE_UP - jac_affine_0_2_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_1_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_1_2_BLUE_UP + jac_affine_0_2_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_0_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_1_0_BLUE_UP*jac_affine_2_1_BLUE_UP - jac_affine_1_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_1_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(-jac_affine_0_0_BLUE_UP*jac_affine_2_1_BLUE_UP + jac_affine_0_1_BLUE_UP*jac_affine_2_0_BLUE_UP); + const walberla::float64 jac_affine_inv_2_2_BLUE_UP = tmp_coords_jac_13_BLUE_UP*(jac_affine_0_0_BLUE_UP*jac_affine_1_1_BLUE_UP - jac_affine_0_1_BLUE_UP*jac_affine_1_0_BLUE_UP); + const walberla::float64 abs_det_jac_affine_BLUE_UP = abs(tmp_coords_jac_12_BLUE_UP); { /* CellType.BLUE_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_BLUE_UP*tmp_q_4 + jac_affine_inv_1_0_BLUE_UP*tmp_q_4 + jac_affine_inv_2_0_BLUE_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_BLUE_UP*tmp_q_4 + jac_affine_inv_1_1_BLUE_UP*tmp_q_4 + jac_affine_inv_2_1_BLUE_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_BLUE_UP*tmp_q_4 + jac_affine_inv_1_2_BLUE_UP*tmp_q_4 + jac_affine_inv_2_2_BLUE_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_BLUE_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_BLUE_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_BLUE_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_BLUE_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_BLUE_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_BLUE_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_BLUE_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_BLUE_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_BLUE_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_BLUE_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_BLUE_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_BLUE_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_BLUE_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_BLUE_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_BLUE_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_BLUE_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_BLUE_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_BLUE_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_BLUE_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_BLUE_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_BLUE_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_BLUE_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_BLUE_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_BLUE_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_BLUE_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_BLUE_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_BLUE_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_BLUE_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_BLUE_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_BLUE_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_BLUE_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_BLUE_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_BLUE_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_q_71 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_q_71 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_q_72 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_q_72 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_q_73 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_q_73 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_BLUE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_BLUE_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_BLUE_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_BLUE_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_BLUE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_BLUE_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_BLUE_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_BLUE_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_BLUE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_BLUE_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_BLUE_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_BLUE_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_UP*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_BLUE_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_BLUE_UP*jac_affine_inv_0_0_BLUE_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_BLUE_UP*jac_affine_inv_0_1_BLUE_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_BLUE_UP*jac_affine_inv_0_2_BLUE_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_BLUE_UP*jac_affine_inv_1_0_BLUE_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_BLUE_UP*jac_affine_inv_1_1_BLUE_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_BLUE_UP*jac_affine_inv_1_2_BLUE_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_BLUE_UP*jac_affine_inv_2_0_BLUE_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_BLUE_UP*jac_affine_inv_2_1_BLUE_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_BLUE_UP*jac_affine_inv_2_2_BLUE_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_BLUE_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_BLUE_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_BLUE_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -1500,110 +1500,110 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMat_0_0 = q_acc_0_0; - const real_t elMat_0_1 = q_acc_0_1; - const real_t elMat_0_2 = q_acc_0_2; - const real_t elMat_0_3 = q_acc_0_3; - const real_t elMat_0_4 = q_acc_0_4; - const real_t elMat_0_5 = q_acc_0_5; - const real_t elMat_0_6 = q_acc_0_6; - const real_t elMat_0_7 = q_acc_0_7; - const real_t elMat_0_8 = q_acc_0_8; - const real_t elMat_0_9 = q_acc_0_9; - const real_t elMat_1_0 = q_acc_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; - const real_t elMat_3_4 = q_acc_3_4; - const real_t elMat_3_5 = q_acc_3_5; - const real_t elMat_3_6 = q_acc_3_6; - const real_t elMat_3_7 = q_acc_3_7; - const real_t elMat_3_8 = q_acc_3_8; - const real_t elMat_3_9 = q_acc_3_9; - const real_t elMat_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_4_6 = q_acc_4_6; - const real_t elMat_4_7 = q_acc_4_7; - const real_t elMat_4_8 = q_acc_4_8; - const real_t elMat_4_9 = q_acc_4_9; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; - const real_t elMat_5_6 = q_acc_5_6; - const real_t elMat_5_7 = q_acc_5_7; - const real_t elMat_5_8 = q_acc_5_8; - const real_t elMat_5_9 = q_acc_5_9; - const real_t elMat_6_0 = q_acc_0_6; - const real_t elMat_6_1 = q_acc_1_6; - const real_t elMat_6_2 = q_acc_2_6; - const real_t elMat_6_3 = q_acc_3_6; - const real_t elMat_6_4 = q_acc_4_6; - const real_t elMat_6_5 = q_acc_5_6; - const real_t elMat_6_6 = q_acc_6_6; - const real_t elMat_6_7 = q_acc_6_7; - const real_t elMat_6_8 = q_acc_6_8; - const real_t elMat_6_9 = q_acc_6_9; - const real_t elMat_7_0 = q_acc_0_7; - const real_t elMat_7_1 = q_acc_1_7; - const real_t elMat_7_2 = q_acc_2_7; - const real_t elMat_7_3 = q_acc_3_7; - const real_t elMat_7_4 = q_acc_4_7; - const real_t elMat_7_5 = q_acc_5_7; - const real_t elMat_7_6 = q_acc_6_7; - const real_t elMat_7_7 = q_acc_7_7; - const real_t elMat_7_8 = q_acc_7_8; - const real_t elMat_7_9 = q_acc_7_9; - const real_t elMat_8_0 = q_acc_0_8; - const real_t elMat_8_1 = q_acc_1_8; - const real_t elMat_8_2 = q_acc_2_8; - const real_t elMat_8_3 = q_acc_3_8; - const real_t elMat_8_4 = q_acc_4_8; - const real_t elMat_8_5 = q_acc_5_8; - const real_t elMat_8_6 = q_acc_6_8; - const real_t elMat_8_7 = q_acc_7_8; - const real_t elMat_8_8 = q_acc_8_8; - const real_t elMat_8_9 = q_acc_8_9; - const real_t elMat_9_0 = q_acc_0_9; - const real_t elMat_9_1 = q_acc_1_9; - const real_t elMat_9_2 = q_acc_2_9; - const real_t elMat_9_3 = q_acc_3_9; - const real_t elMat_9_4 = q_acc_4_9; - const real_t elMat_9_5 = q_acc_5_9; - const real_t elMat_9_6 = q_acc_6_9; - const real_t elMat_9_7 = q_acc_7_9; - const real_t elMat_9_8 = q_acc_8_9; - const real_t elMat_9_9 = q_acc_9_9; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_0_6 = q_acc_0_6; + const walberla::float64 elMat_0_7 = q_acc_0_7; + const walberla::float64 elMat_0_8 = q_acc_0_8; + const walberla::float64 elMat_0_9 = q_acc_0_9; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_1_6 = q_acc_1_6; + const walberla::float64 elMat_1_7 = q_acc_1_7; + const walberla::float64 elMat_1_8 = q_acc_1_8; + const walberla::float64 elMat_1_9 = q_acc_1_9; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_2_6 = q_acc_2_6; + const walberla::float64 elMat_2_7 = q_acc_2_7; + const walberla::float64 elMat_2_8 = q_acc_2_8; + const walberla::float64 elMat_2_9 = q_acc_2_9; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_3_6 = q_acc_3_6; + const walberla::float64 elMat_3_7 = q_acc_3_7; + const walberla::float64 elMat_3_8 = q_acc_3_8; + const walberla::float64 elMat_3_9 = q_acc_3_9; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_4_6 = q_acc_4_6; + const walberla::float64 elMat_4_7 = q_acc_4_7; + const walberla::float64 elMat_4_8 = q_acc_4_8; + const walberla::float64 elMat_4_9 = q_acc_4_9; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_5_6 = q_acc_5_6; + const walberla::float64 elMat_5_7 = q_acc_5_7; + const walberla::float64 elMat_5_8 = q_acc_5_8; + const walberla::float64 elMat_5_9 = q_acc_5_9; + const walberla::float64 elMat_6_0 = q_acc_0_6; + const walberla::float64 elMat_6_1 = q_acc_1_6; + const walberla::float64 elMat_6_2 = q_acc_2_6; + const walberla::float64 elMat_6_3 = q_acc_3_6; + const walberla::float64 elMat_6_4 = q_acc_4_6; + const walberla::float64 elMat_6_5 = q_acc_5_6; + const walberla::float64 elMat_6_6 = q_acc_6_6; + const walberla::float64 elMat_6_7 = q_acc_6_7; + const walberla::float64 elMat_6_8 = q_acc_6_8; + const walberla::float64 elMat_6_9 = q_acc_6_9; + const walberla::float64 elMat_7_0 = q_acc_0_7; + const walberla::float64 elMat_7_1 = q_acc_1_7; + const walberla::float64 elMat_7_2 = q_acc_2_7; + const walberla::float64 elMat_7_3 = q_acc_3_7; + const walberla::float64 elMat_7_4 = q_acc_4_7; + const walberla::float64 elMat_7_5 = q_acc_5_7; + const walberla::float64 elMat_7_6 = q_acc_6_7; + const walberla::float64 elMat_7_7 = q_acc_7_7; + const walberla::float64 elMat_7_8 = q_acc_7_8; + const walberla::float64 elMat_7_9 = q_acc_7_9; + const walberla::float64 elMat_8_0 = q_acc_0_8; + const walberla::float64 elMat_8_1 = q_acc_1_8; + const walberla::float64 elMat_8_2 = q_acc_2_8; + const walberla::float64 elMat_8_3 = q_acc_3_8; + const walberla::float64 elMat_8_4 = q_acc_4_8; + const walberla::float64 elMat_8_5 = q_acc_5_8; + const walberla::float64 elMat_8_6 = q_acc_6_8; + const walberla::float64 elMat_8_7 = q_acc_7_8; + const walberla::float64 elMat_8_8 = q_acc_8_8; + const walberla::float64 elMat_8_9 = q_acc_8_9; + const walberla::float64 elMat_9_0 = q_acc_0_9; + const walberla::float64 elMat_9_1 = q_acc_1_9; + const walberla::float64 elMat_9_2 = q_acc_2_9; + const walberla::float64 elMat_9_3 = q_acc_3_9; + const walberla::float64 elMat_9_4 = q_acc_4_9; + const walberla::float64 elMat_9_5 = q_acc_5_9; + const walberla::float64 elMat_9_6 = q_acc_6_9; + const walberla::float64 elMat_9_7 = q_acc_7_9; + const walberla::float64 elMat_9_8 = q_acc_8_9; + const walberla::float64 elMat_9_9 = q_acc_9_9; std::vector< uint_t > _data_rowIdx( 10 ); std::vector< uint_t > _data_colIdx( 10 ); - std::vector< real_t > _data_mat( 100 ); + std::vector< walberla::float64 > _data_mat( 100 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); @@ -1630,379 +1630,379 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, - _data_mat[0] = ((real_t)(elMat_0_0)); - _data_mat[1] = ((real_t)(elMat_0_1)); - _data_mat[2] = ((real_t)(elMat_0_2)); - _data_mat[3] = ((real_t)(elMat_0_3)); - _data_mat[4] = ((real_t)(elMat_0_4)); - _data_mat[5] = ((real_t)(elMat_0_5)); - _data_mat[6] = ((real_t)(elMat_0_6)); - _data_mat[7] = ((real_t)(elMat_0_7)); - _data_mat[8] = ((real_t)(elMat_0_8)); - _data_mat[9] = ((real_t)(elMat_0_9)); - _data_mat[10] = ((real_t)(elMat_1_0)); - _data_mat[11] = ((real_t)(elMat_1_1)); - _data_mat[12] = ((real_t)(elMat_1_2)); - _data_mat[13] = ((real_t)(elMat_1_3)); - _data_mat[14] = ((real_t)(elMat_1_4)); - _data_mat[15] = ((real_t)(elMat_1_5)); - _data_mat[16] = ((real_t)(elMat_1_6)); - _data_mat[17] = ((real_t)(elMat_1_7)); - _data_mat[18] = ((real_t)(elMat_1_8)); - _data_mat[19] = ((real_t)(elMat_1_9)); - _data_mat[20] = ((real_t)(elMat_2_0)); - _data_mat[21] = ((real_t)(elMat_2_1)); - _data_mat[22] = ((real_t)(elMat_2_2)); - _data_mat[23] = ((real_t)(elMat_2_3)); - _data_mat[24] = ((real_t)(elMat_2_4)); - _data_mat[25] = ((real_t)(elMat_2_5)); - _data_mat[26] = ((real_t)(elMat_2_6)); - _data_mat[27] = ((real_t)(elMat_2_7)); - _data_mat[28] = ((real_t)(elMat_2_8)); - _data_mat[29] = ((real_t)(elMat_2_9)); - _data_mat[30] = ((real_t)(elMat_3_0)); - _data_mat[31] = ((real_t)(elMat_3_1)); - _data_mat[32] = ((real_t)(elMat_3_2)); - _data_mat[33] = ((real_t)(elMat_3_3)); - _data_mat[34] = ((real_t)(elMat_3_4)); - _data_mat[35] = ((real_t)(elMat_3_5)); - _data_mat[36] = ((real_t)(elMat_3_6)); - _data_mat[37] = ((real_t)(elMat_3_7)); - _data_mat[38] = ((real_t)(elMat_3_8)); - _data_mat[39] = ((real_t)(elMat_3_9)); - _data_mat[40] = ((real_t)(elMat_4_0)); - _data_mat[41] = ((real_t)(elMat_4_1)); - _data_mat[42] = ((real_t)(elMat_4_2)); - _data_mat[43] = ((real_t)(elMat_4_3)); - _data_mat[44] = ((real_t)(elMat_4_4)); - _data_mat[45] = ((real_t)(elMat_4_5)); - _data_mat[46] = ((real_t)(elMat_4_6)); - _data_mat[47] = ((real_t)(elMat_4_7)); - _data_mat[48] = ((real_t)(elMat_4_8)); - _data_mat[49] = ((real_t)(elMat_4_9)); - _data_mat[50] = ((real_t)(elMat_5_0)); - _data_mat[51] = ((real_t)(elMat_5_1)); - _data_mat[52] = ((real_t)(elMat_5_2)); - _data_mat[53] = ((real_t)(elMat_5_3)); - _data_mat[54] = ((real_t)(elMat_5_4)); - _data_mat[55] = ((real_t)(elMat_5_5)); - _data_mat[56] = ((real_t)(elMat_5_6)); - _data_mat[57] = ((real_t)(elMat_5_7)); - _data_mat[58] = ((real_t)(elMat_5_8)); - _data_mat[59] = ((real_t)(elMat_5_9)); - _data_mat[60] = ((real_t)(elMat_6_0)); - _data_mat[61] = ((real_t)(elMat_6_1)); - _data_mat[62] = ((real_t)(elMat_6_2)); - _data_mat[63] = ((real_t)(elMat_6_3)); - _data_mat[64] = ((real_t)(elMat_6_4)); - _data_mat[65] = ((real_t)(elMat_6_5)); - _data_mat[66] = ((real_t)(elMat_6_6)); - _data_mat[67] = ((real_t)(elMat_6_7)); - _data_mat[68] = ((real_t)(elMat_6_8)); - _data_mat[69] = ((real_t)(elMat_6_9)); - _data_mat[70] = ((real_t)(elMat_7_0)); - _data_mat[71] = ((real_t)(elMat_7_1)); - _data_mat[72] = ((real_t)(elMat_7_2)); - _data_mat[73] = ((real_t)(elMat_7_3)); - _data_mat[74] = ((real_t)(elMat_7_4)); - _data_mat[75] = ((real_t)(elMat_7_5)); - _data_mat[76] = ((real_t)(elMat_7_6)); - _data_mat[77] = ((real_t)(elMat_7_7)); - _data_mat[78] = ((real_t)(elMat_7_8)); - _data_mat[79] = ((real_t)(elMat_7_9)); - _data_mat[80] = ((real_t)(elMat_8_0)); - _data_mat[81] = ((real_t)(elMat_8_1)); - _data_mat[82] = ((real_t)(elMat_8_2)); - _data_mat[83] = ((real_t)(elMat_8_3)); - _data_mat[84] = ((real_t)(elMat_8_4)); - _data_mat[85] = ((real_t)(elMat_8_5)); - _data_mat[86] = ((real_t)(elMat_8_6)); - _data_mat[87] = ((real_t)(elMat_8_7)); - _data_mat[88] = ((real_t)(elMat_8_8)); - _data_mat[89] = ((real_t)(elMat_8_9)); - _data_mat[90] = ((real_t)(elMat_9_0)); - _data_mat[91] = ((real_t)(elMat_9_1)); - _data_mat[92] = ((real_t)(elMat_9_2)); - _data_mat[93] = ((real_t)(elMat_9_3)); - _data_mat[94] = ((real_t)(elMat_9_4)); - _data_mat[95] = ((real_t)(elMat_9_5)); - _data_mat[96] = ((real_t)(elMat_9_6)); - _data_mat[97] = ((real_t)(elMat_9_7)); - _data_mat[98] = ((real_t)(elMat_9_8)); - _data_mat[99] = ((real_t)(elMat_9_9)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_0_6)); + _data_mat[7] = ((walberla::float64)(elMat_0_7)); + _data_mat[8] = ((walberla::float64)(elMat_0_8)); + _data_mat[9] = ((walberla::float64)(elMat_0_9)); + _data_mat[10] = ((walberla::float64)(elMat_1_0)); + _data_mat[11] = ((walberla::float64)(elMat_1_1)); + _data_mat[12] = ((walberla::float64)(elMat_1_2)); + _data_mat[13] = ((walberla::float64)(elMat_1_3)); + _data_mat[14] = ((walberla::float64)(elMat_1_4)); + _data_mat[15] = ((walberla::float64)(elMat_1_5)); + _data_mat[16] = ((walberla::float64)(elMat_1_6)); + _data_mat[17] = ((walberla::float64)(elMat_1_7)); + _data_mat[18] = ((walberla::float64)(elMat_1_8)); + _data_mat[19] = ((walberla::float64)(elMat_1_9)); + _data_mat[20] = ((walberla::float64)(elMat_2_0)); + _data_mat[21] = ((walberla::float64)(elMat_2_1)); + _data_mat[22] = ((walberla::float64)(elMat_2_2)); + _data_mat[23] = ((walberla::float64)(elMat_2_3)); + _data_mat[24] = ((walberla::float64)(elMat_2_4)); + _data_mat[25] = ((walberla::float64)(elMat_2_5)); + _data_mat[26] = ((walberla::float64)(elMat_2_6)); + _data_mat[27] = ((walberla::float64)(elMat_2_7)); + _data_mat[28] = ((walberla::float64)(elMat_2_8)); + _data_mat[29] = ((walberla::float64)(elMat_2_9)); + _data_mat[30] = ((walberla::float64)(elMat_3_0)); + _data_mat[31] = ((walberla::float64)(elMat_3_1)); + _data_mat[32] = ((walberla::float64)(elMat_3_2)); + _data_mat[33] = ((walberla::float64)(elMat_3_3)); + _data_mat[34] = ((walberla::float64)(elMat_3_4)); + _data_mat[35] = ((walberla::float64)(elMat_3_5)); + _data_mat[36] = ((walberla::float64)(elMat_3_6)); + _data_mat[37] = ((walberla::float64)(elMat_3_7)); + _data_mat[38] = ((walberla::float64)(elMat_3_8)); + _data_mat[39] = ((walberla::float64)(elMat_3_9)); + _data_mat[40] = ((walberla::float64)(elMat_4_0)); + _data_mat[41] = ((walberla::float64)(elMat_4_1)); + _data_mat[42] = ((walberla::float64)(elMat_4_2)); + _data_mat[43] = ((walberla::float64)(elMat_4_3)); + _data_mat[44] = ((walberla::float64)(elMat_4_4)); + _data_mat[45] = ((walberla::float64)(elMat_4_5)); + _data_mat[46] = ((walberla::float64)(elMat_4_6)); + _data_mat[47] = ((walberla::float64)(elMat_4_7)); + _data_mat[48] = ((walberla::float64)(elMat_4_8)); + _data_mat[49] = ((walberla::float64)(elMat_4_9)); + _data_mat[50] = ((walberla::float64)(elMat_5_0)); + _data_mat[51] = ((walberla::float64)(elMat_5_1)); + _data_mat[52] = ((walberla::float64)(elMat_5_2)); + _data_mat[53] = ((walberla::float64)(elMat_5_3)); + _data_mat[54] = ((walberla::float64)(elMat_5_4)); + _data_mat[55] = ((walberla::float64)(elMat_5_5)); + _data_mat[56] = ((walberla::float64)(elMat_5_6)); + _data_mat[57] = ((walberla::float64)(elMat_5_7)); + _data_mat[58] = ((walberla::float64)(elMat_5_8)); + _data_mat[59] = ((walberla::float64)(elMat_5_9)); + _data_mat[60] = ((walberla::float64)(elMat_6_0)); + _data_mat[61] = ((walberla::float64)(elMat_6_1)); + _data_mat[62] = ((walberla::float64)(elMat_6_2)); + _data_mat[63] = ((walberla::float64)(elMat_6_3)); + _data_mat[64] = ((walberla::float64)(elMat_6_4)); + _data_mat[65] = ((walberla::float64)(elMat_6_5)); + _data_mat[66] = ((walberla::float64)(elMat_6_6)); + _data_mat[67] = ((walberla::float64)(elMat_6_7)); + _data_mat[68] = ((walberla::float64)(elMat_6_8)); + _data_mat[69] = ((walberla::float64)(elMat_6_9)); + _data_mat[70] = ((walberla::float64)(elMat_7_0)); + _data_mat[71] = ((walberla::float64)(elMat_7_1)); + _data_mat[72] = ((walberla::float64)(elMat_7_2)); + _data_mat[73] = ((walberla::float64)(elMat_7_3)); + _data_mat[74] = ((walberla::float64)(elMat_7_4)); + _data_mat[75] = ((walberla::float64)(elMat_7_5)); + _data_mat[76] = ((walberla::float64)(elMat_7_6)); + _data_mat[77] = ((walberla::float64)(elMat_7_7)); + _data_mat[78] = ((walberla::float64)(elMat_7_8)); + _data_mat[79] = ((walberla::float64)(elMat_7_9)); + _data_mat[80] = ((walberla::float64)(elMat_8_0)); + _data_mat[81] = ((walberla::float64)(elMat_8_1)); + _data_mat[82] = ((walberla::float64)(elMat_8_2)); + _data_mat[83] = ((walberla::float64)(elMat_8_3)); + _data_mat[84] = ((walberla::float64)(elMat_8_4)); + _data_mat[85] = ((walberla::float64)(elMat_8_5)); + _data_mat[86] = ((walberla::float64)(elMat_8_6)); + _data_mat[87] = ((walberla::float64)(elMat_8_7)); + _data_mat[88] = ((walberla::float64)(elMat_8_8)); + _data_mat[89] = ((walberla::float64)(elMat_8_9)); + _data_mat[90] = ((walberla::float64)(elMat_9_0)); + _data_mat[91] = ((walberla::float64)(elMat_9_1)); + _data_mat[92] = ((walberla::float64)(elMat_9_2)); + _data_mat[93] = ((walberla::float64)(elMat_9_3)); + _data_mat[94] = ((walberla::float64)(elMat_9_4)); + _data_mat[95] = ((walberla::float64)(elMat_9_5)); + _data_mat[96] = ((walberla::float64)(elMat_9_6)); + _data_mat[97] = ((walberla::float64)(elMat_9_7)); + _data_mat[98] = ((walberla::float64)(elMat_9_8)); + _data_mat[99] = ((walberla::float64)(elMat_9_9)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_DOWN; - const real_t tmp_6_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_6_BLUE_DOWN; - const real_t tmp_8_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t tmp_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_8_BLUE_DOWN; - const real_t p_affine_const_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; - const real_t p_affine_const_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; - const real_t p_affine_const_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; - const real_t p_affine_const_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; - const real_t p_affine_const_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; - const real_t p_affine_const_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; - const real_t p_affine_const_2_0_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0) + tmp_5_BLUE_DOWN; - const real_t p_affine_const_2_1_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1) + tmp_7_BLUE_DOWN; - const real_t p_affine_const_2_2_BLUE_DOWN = tmp_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2) + tmp_9_BLUE_DOWN; - const real_t p_affine_const_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; - const real_t p_affine_const_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; - const real_t p_affine_const_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; - const real_t jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; - const real_t jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; - const real_t jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; - const real_t jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; - const real_t jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; - const real_t tmp_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; - const real_t jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; - const real_t tmp_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; - const real_t jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; - const real_t jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; - const real_t tmp_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; - const real_t jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; - const real_t tmp_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; - const real_t tmp_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_14_BLUE_DOWN; - const real_t tmp_16_BLUE_DOWN = 1.0 / (tmp_15_BLUE_DOWN); - const real_t jac_affine_inv_0_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_10_BLUE_DOWN - tmp_11_BLUE_DOWN); - const real_t jac_affine_inv_0_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_13_BLUE_DOWN); - const real_t jac_affine_inv_0_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(tmp_12_BLUE_DOWN - tmp_14_BLUE_DOWN); - const real_t jac_affine_inv_1_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_1_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t jac_affine_inv_2_0_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_1_BLUE_DOWN = tmp_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); - const real_t jac_affine_inv_2_2_BLUE_DOWN = tmp_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); - const real_t abs_det_jac_affine_BLUE_DOWN = abs(tmp_15_BLUE_DOWN); + const walberla::float64 tmp_coords_jac_0_BLUE_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_BLUE_DOWN = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_6_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_7_BLUE_DOWN = macro_vertex_coord_id_0comp1 + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_8_BLUE_DOWN = tmp_coords_jac_0_BLUE_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 tmp_coords_jac_9_BLUE_DOWN = macro_vertex_coord_id_0comp2 + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 p_affine_const_0_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN; + const walberla::float64 p_affine_const_0_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN; + const walberla::float64 p_affine_const_0_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN; + const walberla::float64 p_affine_const_1_0_BLUE_DOWN = tmp_coords_jac_5_BLUE_DOWN; + const walberla::float64 p_affine_const_1_1_BLUE_DOWN = tmp_coords_jac_7_BLUE_DOWN; + const walberla::float64 p_affine_const_1_2_BLUE_DOWN = tmp_coords_jac_9_BLUE_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_BLUE_DOWN = tmp_coords_jac_1_BLUE_DOWN + tmp_coords_jac_4_BLUE_DOWN; + const walberla::float64 p_affine_const_3_1_BLUE_DOWN = tmp_coords_jac_2_BLUE_DOWN + tmp_coords_jac_6_BLUE_DOWN; + const walberla::float64 p_affine_const_3_2_BLUE_DOWN = tmp_coords_jac_3_BLUE_DOWN + tmp_coords_jac_8_BLUE_DOWN; + const walberla::float64 jac_affine_0_0_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_1_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_1_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_2_0_BLUE_DOWN; + const walberla::float64 jac_affine_0_2_BLUE_DOWN = -p_affine_const_0_0_BLUE_DOWN + p_affine_const_3_0_BLUE_DOWN; + const walberla::float64 jac_affine_1_0_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_1_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_2_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_14_BLUE_DOWN = jac_affine_0_2_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN; + const walberla::float64 jac_affine_1_2_BLUE_DOWN = -p_affine_const_0_1_BLUE_DOWN + p_affine_const_3_1_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_12_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_0_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_1_2_BLUE_DOWN; + const walberla::float64 jac_affine_2_1_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_11_BLUE_DOWN = jac_affine_1_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN; + const walberla::float64 jac_affine_2_2_BLUE_DOWN = -p_affine_const_0_2_BLUE_DOWN + p_affine_const_3_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_10_BLUE_DOWN = jac_affine_1_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_13_BLUE_DOWN = jac_affine_0_1_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_15_BLUE_DOWN = jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_10_BLUE_DOWN - jac_affine_0_0_BLUE_DOWN*tmp_coords_jac_11_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_0_BLUE_DOWN*tmp_coords_jac_13_BLUE_DOWN + jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_12_BLUE_DOWN - jac_affine_2_0_BLUE_DOWN*tmp_coords_jac_14_BLUE_DOWN; + const walberla::float64 tmp_coords_jac_16_BLUE_DOWN = 1.0 / (tmp_coords_jac_15_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_10_BLUE_DOWN - tmp_coords_jac_11_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_2_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - tmp_coords_jac_13_BLUE_DOWN); + const walberla::float64 jac_affine_inv_0_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(tmp_coords_jac_12_BLUE_DOWN - tmp_coords_jac_14_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_1_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN + jac_affine_1_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_2_2_BLUE_DOWN - jac_affine_0_2_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_1_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_1_2_BLUE_DOWN + jac_affine_0_2_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_0_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_1_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN - jac_affine_1_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_1_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(-jac_affine_0_0_BLUE_DOWN*jac_affine_2_1_BLUE_DOWN + jac_affine_0_1_BLUE_DOWN*jac_affine_2_0_BLUE_DOWN); + const walberla::float64 jac_affine_inv_2_2_BLUE_DOWN = tmp_coords_jac_16_BLUE_DOWN*(jac_affine_0_0_BLUE_DOWN*jac_affine_1_1_BLUE_DOWN - jac_affine_0_1_BLUE_DOWN*jac_affine_1_0_BLUE_DOWN); + const walberla::float64 abs_det_jac_affine_BLUE_DOWN = abs(tmp_coords_jac_15_BLUE_DOWN); { /* CellType.BLUE_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_q_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_BLUE_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_BLUE_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_BLUE_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_BLUE_DOWN*jac_affine_inv_0_0_BLUE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_BLUE_DOWN*jac_affine_inv_0_1_BLUE_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_BLUE_DOWN*jac_affine_inv_0_2_BLUE_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_BLUE_DOWN*jac_affine_inv_1_0_BLUE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_BLUE_DOWN*jac_affine_inv_1_1_BLUE_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_BLUE_DOWN*jac_affine_inv_1_2_BLUE_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_BLUE_DOWN*jac_affine_inv_2_0_BLUE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_BLUE_DOWN*jac_affine_inv_2_1_BLUE_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_BLUE_DOWN*jac_affine_inv_2_2_BLUE_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_BLUE_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_BLUE_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_BLUE_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -2059,110 +2059,110 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMat_0_0 = q_acc_0_0; - const real_t elMat_0_1 = q_acc_0_1; - const real_t elMat_0_2 = q_acc_0_2; - const real_t elMat_0_3 = q_acc_0_3; - const real_t elMat_0_4 = q_acc_0_4; - const real_t elMat_0_5 = q_acc_0_5; - const real_t elMat_0_6 = q_acc_0_6; - const real_t elMat_0_7 = q_acc_0_7; - const real_t elMat_0_8 = q_acc_0_8; - const real_t elMat_0_9 = q_acc_0_9; - const real_t elMat_1_0 = q_acc_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; - const real_t elMat_3_4 = q_acc_3_4; - const real_t elMat_3_5 = q_acc_3_5; - const real_t elMat_3_6 = q_acc_3_6; - const real_t elMat_3_7 = q_acc_3_7; - const real_t elMat_3_8 = q_acc_3_8; - const real_t elMat_3_9 = q_acc_3_9; - const real_t elMat_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_4_6 = q_acc_4_6; - const real_t elMat_4_7 = q_acc_4_7; - const real_t elMat_4_8 = q_acc_4_8; - const real_t elMat_4_9 = q_acc_4_9; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; - const real_t elMat_5_6 = q_acc_5_6; - const real_t elMat_5_7 = q_acc_5_7; - const real_t elMat_5_8 = q_acc_5_8; - const real_t elMat_5_9 = q_acc_5_9; - const real_t elMat_6_0 = q_acc_0_6; - const real_t elMat_6_1 = q_acc_1_6; - const real_t elMat_6_2 = q_acc_2_6; - const real_t elMat_6_3 = q_acc_3_6; - const real_t elMat_6_4 = q_acc_4_6; - const real_t elMat_6_5 = q_acc_5_6; - const real_t elMat_6_6 = q_acc_6_6; - const real_t elMat_6_7 = q_acc_6_7; - const real_t elMat_6_8 = q_acc_6_8; - const real_t elMat_6_9 = q_acc_6_9; - const real_t elMat_7_0 = q_acc_0_7; - const real_t elMat_7_1 = q_acc_1_7; - const real_t elMat_7_2 = q_acc_2_7; - const real_t elMat_7_3 = q_acc_3_7; - const real_t elMat_7_4 = q_acc_4_7; - const real_t elMat_7_5 = q_acc_5_7; - const real_t elMat_7_6 = q_acc_6_7; - const real_t elMat_7_7 = q_acc_7_7; - const real_t elMat_7_8 = q_acc_7_8; - const real_t elMat_7_9 = q_acc_7_9; - const real_t elMat_8_0 = q_acc_0_8; - const real_t elMat_8_1 = q_acc_1_8; - const real_t elMat_8_2 = q_acc_2_8; - const real_t elMat_8_3 = q_acc_3_8; - const real_t elMat_8_4 = q_acc_4_8; - const real_t elMat_8_5 = q_acc_5_8; - const real_t elMat_8_6 = q_acc_6_8; - const real_t elMat_8_7 = q_acc_7_8; - const real_t elMat_8_8 = q_acc_8_8; - const real_t elMat_8_9 = q_acc_8_9; - const real_t elMat_9_0 = q_acc_0_9; - const real_t elMat_9_1 = q_acc_1_9; - const real_t elMat_9_2 = q_acc_2_9; - const real_t elMat_9_3 = q_acc_3_9; - const real_t elMat_9_4 = q_acc_4_9; - const real_t elMat_9_5 = q_acc_5_9; - const real_t elMat_9_6 = q_acc_6_9; - const real_t elMat_9_7 = q_acc_7_9; - const real_t elMat_9_8 = q_acc_8_9; - const real_t elMat_9_9 = q_acc_9_9; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_0_6 = q_acc_0_6; + const walberla::float64 elMat_0_7 = q_acc_0_7; + const walberla::float64 elMat_0_8 = q_acc_0_8; + const walberla::float64 elMat_0_9 = q_acc_0_9; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_1_6 = q_acc_1_6; + const walberla::float64 elMat_1_7 = q_acc_1_7; + const walberla::float64 elMat_1_8 = q_acc_1_8; + const walberla::float64 elMat_1_9 = q_acc_1_9; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_2_6 = q_acc_2_6; + const walberla::float64 elMat_2_7 = q_acc_2_7; + const walberla::float64 elMat_2_8 = q_acc_2_8; + const walberla::float64 elMat_2_9 = q_acc_2_9; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_3_6 = q_acc_3_6; + const walberla::float64 elMat_3_7 = q_acc_3_7; + const walberla::float64 elMat_3_8 = q_acc_3_8; + const walberla::float64 elMat_3_9 = q_acc_3_9; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_4_6 = q_acc_4_6; + const walberla::float64 elMat_4_7 = q_acc_4_7; + const walberla::float64 elMat_4_8 = q_acc_4_8; + const walberla::float64 elMat_4_9 = q_acc_4_9; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_5_6 = q_acc_5_6; + const walberla::float64 elMat_5_7 = q_acc_5_7; + const walberla::float64 elMat_5_8 = q_acc_5_8; + const walberla::float64 elMat_5_9 = q_acc_5_9; + const walberla::float64 elMat_6_0 = q_acc_0_6; + const walberla::float64 elMat_6_1 = q_acc_1_6; + const walberla::float64 elMat_6_2 = q_acc_2_6; + const walberla::float64 elMat_6_3 = q_acc_3_6; + const walberla::float64 elMat_6_4 = q_acc_4_6; + const walberla::float64 elMat_6_5 = q_acc_5_6; + const walberla::float64 elMat_6_6 = q_acc_6_6; + const walberla::float64 elMat_6_7 = q_acc_6_7; + const walberla::float64 elMat_6_8 = q_acc_6_8; + const walberla::float64 elMat_6_9 = q_acc_6_9; + const walberla::float64 elMat_7_0 = q_acc_0_7; + const walberla::float64 elMat_7_1 = q_acc_1_7; + const walberla::float64 elMat_7_2 = q_acc_2_7; + const walberla::float64 elMat_7_3 = q_acc_3_7; + const walberla::float64 elMat_7_4 = q_acc_4_7; + const walberla::float64 elMat_7_5 = q_acc_5_7; + const walberla::float64 elMat_7_6 = q_acc_6_7; + const walberla::float64 elMat_7_7 = q_acc_7_7; + const walberla::float64 elMat_7_8 = q_acc_7_8; + const walberla::float64 elMat_7_9 = q_acc_7_9; + const walberla::float64 elMat_8_0 = q_acc_0_8; + const walberla::float64 elMat_8_1 = q_acc_1_8; + const walberla::float64 elMat_8_2 = q_acc_2_8; + const walberla::float64 elMat_8_3 = q_acc_3_8; + const walberla::float64 elMat_8_4 = q_acc_4_8; + const walberla::float64 elMat_8_5 = q_acc_5_8; + const walberla::float64 elMat_8_6 = q_acc_6_8; + const walberla::float64 elMat_8_7 = q_acc_7_8; + const walberla::float64 elMat_8_8 = q_acc_8_8; + const walberla::float64 elMat_8_9 = q_acc_8_9; + const walberla::float64 elMat_9_0 = q_acc_0_9; + const walberla::float64 elMat_9_1 = q_acc_1_9; + const walberla::float64 elMat_9_2 = q_acc_2_9; + const walberla::float64 elMat_9_3 = q_acc_3_9; + const walberla::float64 elMat_9_4 = q_acc_4_9; + const walberla::float64 elMat_9_5 = q_acc_5_9; + const walberla::float64 elMat_9_6 = q_acc_6_9; + const walberla::float64 elMat_9_7 = q_acc_7_9; + const walberla::float64 elMat_9_8 = q_acc_8_9; + const walberla::float64 elMat_9_9 = q_acc_9_9; std::vector< uint_t > _data_rowIdx( 10 ); std::vector< uint_t > _data_colIdx( 10 ); - std::vector< real_t > _data_mat( 100 ); + std::vector< walberla::float64 > _data_mat( 100 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); @@ -2189,376 +2189,376 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, - _data_mat[0] = ((real_t)(elMat_0_0)); - _data_mat[1] = ((real_t)(elMat_0_1)); - _data_mat[2] = ((real_t)(elMat_0_2)); - _data_mat[3] = ((real_t)(elMat_0_3)); - _data_mat[4] = ((real_t)(elMat_0_4)); - _data_mat[5] = ((real_t)(elMat_0_5)); - _data_mat[6] = ((real_t)(elMat_0_6)); - _data_mat[7] = ((real_t)(elMat_0_7)); - _data_mat[8] = ((real_t)(elMat_0_8)); - _data_mat[9] = ((real_t)(elMat_0_9)); - _data_mat[10] = ((real_t)(elMat_1_0)); - _data_mat[11] = ((real_t)(elMat_1_1)); - _data_mat[12] = ((real_t)(elMat_1_2)); - _data_mat[13] = ((real_t)(elMat_1_3)); - _data_mat[14] = ((real_t)(elMat_1_4)); - _data_mat[15] = ((real_t)(elMat_1_5)); - _data_mat[16] = ((real_t)(elMat_1_6)); - _data_mat[17] = ((real_t)(elMat_1_7)); - _data_mat[18] = ((real_t)(elMat_1_8)); - _data_mat[19] = ((real_t)(elMat_1_9)); - _data_mat[20] = ((real_t)(elMat_2_0)); - _data_mat[21] = ((real_t)(elMat_2_1)); - _data_mat[22] = ((real_t)(elMat_2_2)); - _data_mat[23] = ((real_t)(elMat_2_3)); - _data_mat[24] = ((real_t)(elMat_2_4)); - _data_mat[25] = ((real_t)(elMat_2_5)); - _data_mat[26] = ((real_t)(elMat_2_6)); - _data_mat[27] = ((real_t)(elMat_2_7)); - _data_mat[28] = ((real_t)(elMat_2_8)); - _data_mat[29] = ((real_t)(elMat_2_9)); - _data_mat[30] = ((real_t)(elMat_3_0)); - _data_mat[31] = ((real_t)(elMat_3_1)); - _data_mat[32] = ((real_t)(elMat_3_2)); - _data_mat[33] = ((real_t)(elMat_3_3)); - _data_mat[34] = ((real_t)(elMat_3_4)); - _data_mat[35] = ((real_t)(elMat_3_5)); - _data_mat[36] = ((real_t)(elMat_3_6)); - _data_mat[37] = ((real_t)(elMat_3_7)); - _data_mat[38] = ((real_t)(elMat_3_8)); - _data_mat[39] = ((real_t)(elMat_3_9)); - _data_mat[40] = ((real_t)(elMat_4_0)); - _data_mat[41] = ((real_t)(elMat_4_1)); - _data_mat[42] = ((real_t)(elMat_4_2)); - _data_mat[43] = ((real_t)(elMat_4_3)); - _data_mat[44] = ((real_t)(elMat_4_4)); - _data_mat[45] = ((real_t)(elMat_4_5)); - _data_mat[46] = ((real_t)(elMat_4_6)); - _data_mat[47] = ((real_t)(elMat_4_7)); - _data_mat[48] = ((real_t)(elMat_4_8)); - _data_mat[49] = ((real_t)(elMat_4_9)); - _data_mat[50] = ((real_t)(elMat_5_0)); - _data_mat[51] = ((real_t)(elMat_5_1)); - _data_mat[52] = ((real_t)(elMat_5_2)); - _data_mat[53] = ((real_t)(elMat_5_3)); - _data_mat[54] = ((real_t)(elMat_5_4)); - _data_mat[55] = ((real_t)(elMat_5_5)); - _data_mat[56] = ((real_t)(elMat_5_6)); - _data_mat[57] = ((real_t)(elMat_5_7)); - _data_mat[58] = ((real_t)(elMat_5_8)); - _data_mat[59] = ((real_t)(elMat_5_9)); - _data_mat[60] = ((real_t)(elMat_6_0)); - _data_mat[61] = ((real_t)(elMat_6_1)); - _data_mat[62] = ((real_t)(elMat_6_2)); - _data_mat[63] = ((real_t)(elMat_6_3)); - _data_mat[64] = ((real_t)(elMat_6_4)); - _data_mat[65] = ((real_t)(elMat_6_5)); - _data_mat[66] = ((real_t)(elMat_6_6)); - _data_mat[67] = ((real_t)(elMat_6_7)); - _data_mat[68] = ((real_t)(elMat_6_8)); - _data_mat[69] = ((real_t)(elMat_6_9)); - _data_mat[70] = ((real_t)(elMat_7_0)); - _data_mat[71] = ((real_t)(elMat_7_1)); - _data_mat[72] = ((real_t)(elMat_7_2)); - _data_mat[73] = ((real_t)(elMat_7_3)); - _data_mat[74] = ((real_t)(elMat_7_4)); - _data_mat[75] = ((real_t)(elMat_7_5)); - _data_mat[76] = ((real_t)(elMat_7_6)); - _data_mat[77] = ((real_t)(elMat_7_7)); - _data_mat[78] = ((real_t)(elMat_7_8)); - _data_mat[79] = ((real_t)(elMat_7_9)); - _data_mat[80] = ((real_t)(elMat_8_0)); - _data_mat[81] = ((real_t)(elMat_8_1)); - _data_mat[82] = ((real_t)(elMat_8_2)); - _data_mat[83] = ((real_t)(elMat_8_3)); - _data_mat[84] = ((real_t)(elMat_8_4)); - _data_mat[85] = ((real_t)(elMat_8_5)); - _data_mat[86] = ((real_t)(elMat_8_6)); - _data_mat[87] = ((real_t)(elMat_8_7)); - _data_mat[88] = ((real_t)(elMat_8_8)); - _data_mat[89] = ((real_t)(elMat_8_9)); - _data_mat[90] = ((real_t)(elMat_9_0)); - _data_mat[91] = ((real_t)(elMat_9_1)); - _data_mat[92] = ((real_t)(elMat_9_2)); - _data_mat[93] = ((real_t)(elMat_9_3)); - _data_mat[94] = ((real_t)(elMat_9_4)); - _data_mat[95] = ((real_t)(elMat_9_5)); - _data_mat[96] = ((real_t)(elMat_9_6)); - _data_mat[97] = ((real_t)(elMat_9_7)); - _data_mat[98] = ((real_t)(elMat_9_8)); - _data_mat[99] = ((real_t)(elMat_9_9)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_0_6)); + _data_mat[7] = ((walberla::float64)(elMat_0_7)); + _data_mat[8] = ((walberla::float64)(elMat_0_8)); + _data_mat[9] = ((walberla::float64)(elMat_0_9)); + _data_mat[10] = ((walberla::float64)(elMat_1_0)); + _data_mat[11] = ((walberla::float64)(elMat_1_1)); + _data_mat[12] = ((walberla::float64)(elMat_1_2)); + _data_mat[13] = ((walberla::float64)(elMat_1_3)); + _data_mat[14] = ((walberla::float64)(elMat_1_4)); + _data_mat[15] = ((walberla::float64)(elMat_1_5)); + _data_mat[16] = ((walberla::float64)(elMat_1_6)); + _data_mat[17] = ((walberla::float64)(elMat_1_7)); + _data_mat[18] = ((walberla::float64)(elMat_1_8)); + _data_mat[19] = ((walberla::float64)(elMat_1_9)); + _data_mat[20] = ((walberla::float64)(elMat_2_0)); + _data_mat[21] = ((walberla::float64)(elMat_2_1)); + _data_mat[22] = ((walberla::float64)(elMat_2_2)); + _data_mat[23] = ((walberla::float64)(elMat_2_3)); + _data_mat[24] = ((walberla::float64)(elMat_2_4)); + _data_mat[25] = ((walberla::float64)(elMat_2_5)); + _data_mat[26] = ((walberla::float64)(elMat_2_6)); + _data_mat[27] = ((walberla::float64)(elMat_2_7)); + _data_mat[28] = ((walberla::float64)(elMat_2_8)); + _data_mat[29] = ((walberla::float64)(elMat_2_9)); + _data_mat[30] = ((walberla::float64)(elMat_3_0)); + _data_mat[31] = ((walberla::float64)(elMat_3_1)); + _data_mat[32] = ((walberla::float64)(elMat_3_2)); + _data_mat[33] = ((walberla::float64)(elMat_3_3)); + _data_mat[34] = ((walberla::float64)(elMat_3_4)); + _data_mat[35] = ((walberla::float64)(elMat_3_5)); + _data_mat[36] = ((walberla::float64)(elMat_3_6)); + _data_mat[37] = ((walberla::float64)(elMat_3_7)); + _data_mat[38] = ((walberla::float64)(elMat_3_8)); + _data_mat[39] = ((walberla::float64)(elMat_3_9)); + _data_mat[40] = ((walberla::float64)(elMat_4_0)); + _data_mat[41] = ((walberla::float64)(elMat_4_1)); + _data_mat[42] = ((walberla::float64)(elMat_4_2)); + _data_mat[43] = ((walberla::float64)(elMat_4_3)); + _data_mat[44] = ((walberla::float64)(elMat_4_4)); + _data_mat[45] = ((walberla::float64)(elMat_4_5)); + _data_mat[46] = ((walberla::float64)(elMat_4_6)); + _data_mat[47] = ((walberla::float64)(elMat_4_7)); + _data_mat[48] = ((walberla::float64)(elMat_4_8)); + _data_mat[49] = ((walberla::float64)(elMat_4_9)); + _data_mat[50] = ((walberla::float64)(elMat_5_0)); + _data_mat[51] = ((walberla::float64)(elMat_5_1)); + _data_mat[52] = ((walberla::float64)(elMat_5_2)); + _data_mat[53] = ((walberla::float64)(elMat_5_3)); + _data_mat[54] = ((walberla::float64)(elMat_5_4)); + _data_mat[55] = ((walberla::float64)(elMat_5_5)); + _data_mat[56] = ((walberla::float64)(elMat_5_6)); + _data_mat[57] = ((walberla::float64)(elMat_5_7)); + _data_mat[58] = ((walberla::float64)(elMat_5_8)); + _data_mat[59] = ((walberla::float64)(elMat_5_9)); + _data_mat[60] = ((walberla::float64)(elMat_6_0)); + _data_mat[61] = ((walberla::float64)(elMat_6_1)); + _data_mat[62] = ((walberla::float64)(elMat_6_2)); + _data_mat[63] = ((walberla::float64)(elMat_6_3)); + _data_mat[64] = ((walberla::float64)(elMat_6_4)); + _data_mat[65] = ((walberla::float64)(elMat_6_5)); + _data_mat[66] = ((walberla::float64)(elMat_6_6)); + _data_mat[67] = ((walberla::float64)(elMat_6_7)); + _data_mat[68] = ((walberla::float64)(elMat_6_8)); + _data_mat[69] = ((walberla::float64)(elMat_6_9)); + _data_mat[70] = ((walberla::float64)(elMat_7_0)); + _data_mat[71] = ((walberla::float64)(elMat_7_1)); + _data_mat[72] = ((walberla::float64)(elMat_7_2)); + _data_mat[73] = ((walberla::float64)(elMat_7_3)); + _data_mat[74] = ((walberla::float64)(elMat_7_4)); + _data_mat[75] = ((walberla::float64)(elMat_7_5)); + _data_mat[76] = ((walberla::float64)(elMat_7_6)); + _data_mat[77] = ((walberla::float64)(elMat_7_7)); + _data_mat[78] = ((walberla::float64)(elMat_7_8)); + _data_mat[79] = ((walberla::float64)(elMat_7_9)); + _data_mat[80] = ((walberla::float64)(elMat_8_0)); + _data_mat[81] = ((walberla::float64)(elMat_8_1)); + _data_mat[82] = ((walberla::float64)(elMat_8_2)); + _data_mat[83] = ((walberla::float64)(elMat_8_3)); + _data_mat[84] = ((walberla::float64)(elMat_8_4)); + _data_mat[85] = ((walberla::float64)(elMat_8_5)); + _data_mat[86] = ((walberla::float64)(elMat_8_6)); + _data_mat[87] = ((walberla::float64)(elMat_8_7)); + _data_mat[88] = ((walberla::float64)(elMat_8_8)); + _data_mat[89] = ((walberla::float64)(elMat_8_9)); + _data_mat[90] = ((walberla::float64)(elMat_9_0)); + _data_mat[91] = ((walberla::float64)(elMat_9_1)); + _data_mat[92] = ((walberla::float64)(elMat_9_2)); + _data_mat[93] = ((walberla::float64)(elMat_9_3)); + _data_mat[94] = ((walberla::float64)(elMat_9_4)); + _data_mat[95] = ((walberla::float64)(elMat_9_5)); + _data_mat[96] = ((walberla::float64)(elMat_9_6)); + _data_mat[97] = ((walberla::float64)(elMat_9_7)); + _data_mat[98] = ((walberla::float64)(elMat_9_8)); + _data_mat[99] = ((walberla::float64)(elMat_9_9)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_2_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_3_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_4_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_5_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_6_GREEN_UP = tmp_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_UP = tmp_1_GREEN_UP; - const real_t p_affine_const_0_1_GREEN_UP = tmp_2_GREEN_UP; - const real_t p_affine_const_0_2_GREEN_UP = tmp_3_GREEN_UP; - const real_t p_affine_const_1_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_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_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_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_4_GREEN_UP; - const real_t p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; - const real_t p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; - const real_t p_affine_const_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; - const real_t p_affine_const_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; - const real_t p_affine_const_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; - const real_t jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; - const real_t jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; - const real_t jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; - const real_t jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; - const real_t jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; - const real_t tmp_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; - const real_t jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; - const real_t tmp_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; - const real_t jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; - const real_t jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; - const real_t tmp_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; - const real_t jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; - const real_t tmp_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; - const real_t tmp_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_9_GREEN_UP; - const real_t tmp_13_GREEN_UP = 1.0 / (tmp_12_GREEN_UP); - const real_t jac_affine_inv_0_0_GREEN_UP = tmp_13_GREEN_UP*(tmp_7_GREEN_UP - tmp_8_GREEN_UP); - const real_t jac_affine_inv_0_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_10_GREEN_UP); - const real_t jac_affine_inv_0_2_GREEN_UP = tmp_13_GREEN_UP*(-tmp_11_GREEN_UP + tmp_9_GREEN_UP); - const real_t jac_affine_inv_1_0_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_1_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_1_2_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t jac_affine_inv_2_0_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_1_GREEN_UP = tmp_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); - const real_t jac_affine_inv_2_2_GREEN_UP = tmp_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); - const real_t abs_det_jac_affine_GREEN_UP = abs(tmp_12_GREEN_UP); + const walberla::float64 tmp_coords_jac_0_GREEN_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_UP = tmp_coords_jac_0_GREEN_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP; + const walberla::float64 p_affine_const_0_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP; + const walberla::float64 p_affine_const_0_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 p_affine_const_3_0_GREEN_UP = tmp_coords_jac_1_GREEN_UP + tmp_coords_jac_4_GREEN_UP; + const walberla::float64 p_affine_const_3_1_GREEN_UP = tmp_coords_jac_2_GREEN_UP + tmp_coords_jac_5_GREEN_UP; + const walberla::float64 p_affine_const_3_2_GREEN_UP = tmp_coords_jac_3_GREEN_UP + tmp_coords_jac_6_GREEN_UP; + const walberla::float64 jac_affine_0_0_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_1_0_GREEN_UP; + const walberla::float64 jac_affine_0_1_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_2_0_GREEN_UP; + const walberla::float64 jac_affine_0_2_GREEN_UP = -p_affine_const_0_0_GREEN_UP + p_affine_const_3_0_GREEN_UP; + const walberla::float64 jac_affine_1_0_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_1_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_2_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_11_GREEN_UP = jac_affine_0_2_GREEN_UP*jac_affine_1_1_GREEN_UP; + const walberla::float64 jac_affine_1_2_GREEN_UP = -p_affine_const_0_1_GREEN_UP + p_affine_const_3_1_GREEN_UP; + const walberla::float64 tmp_coords_jac_9_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_0_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_1_2_GREEN_UP; + const walberla::float64 jac_affine_2_1_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_8_GREEN_UP = jac_affine_1_2_GREEN_UP*jac_affine_2_1_GREEN_UP; + const walberla::float64 jac_affine_2_2_GREEN_UP = -p_affine_const_0_2_GREEN_UP + p_affine_const_3_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_7_GREEN_UP = jac_affine_1_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_10_GREEN_UP = jac_affine_0_1_GREEN_UP*jac_affine_2_2_GREEN_UP; + const walberla::float64 tmp_coords_jac_12_GREEN_UP = jac_affine_0_0_GREEN_UP*tmp_coords_jac_7_GREEN_UP - jac_affine_0_0_GREEN_UP*tmp_coords_jac_8_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_0_GREEN_UP*tmp_coords_jac_10_GREEN_UP - jac_affine_2_0_GREEN_UP*tmp_coords_jac_11_GREEN_UP + jac_affine_2_0_GREEN_UP*tmp_coords_jac_9_GREEN_UP; + const walberla::float64 tmp_coords_jac_13_GREEN_UP = 1.0 / (tmp_coords_jac_12_GREEN_UP); + const walberla::float64 jac_affine_inv_0_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(tmp_coords_jac_7_GREEN_UP - tmp_coords_jac_8_GREEN_UP); + const walberla::float64 jac_affine_inv_0_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_2_GREEN_UP*jac_affine_2_1_GREEN_UP - tmp_coords_jac_10_GREEN_UP); + const walberla::float64 jac_affine_inv_0_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-tmp_coords_jac_11_GREEN_UP + tmp_coords_jac_9_GREEN_UP); + const walberla::float64 jac_affine_inv_1_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_1_0_GREEN_UP*jac_affine_2_2_GREEN_UP + jac_affine_1_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_2_2_GREEN_UP - jac_affine_0_2_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_1_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_1_2_GREEN_UP + jac_affine_0_2_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_0_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_1_0_GREEN_UP*jac_affine_2_1_GREEN_UP - jac_affine_1_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_1_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(-jac_affine_0_0_GREEN_UP*jac_affine_2_1_GREEN_UP + jac_affine_0_1_GREEN_UP*jac_affine_2_0_GREEN_UP); + const walberla::float64 jac_affine_inv_2_2_GREEN_UP = tmp_coords_jac_13_GREEN_UP*(jac_affine_0_0_GREEN_UP*jac_affine_1_1_GREEN_UP - jac_affine_0_1_GREEN_UP*jac_affine_1_0_GREEN_UP); + const walberla::float64 abs_det_jac_affine_GREEN_UP = abs(tmp_coords_jac_12_GREEN_UP); { /* CellType.GREEN_UP */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_GREEN_UP*tmp_q_4 + jac_affine_inv_1_0_GREEN_UP*tmp_q_4 + jac_affine_inv_2_0_GREEN_UP*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_GREEN_UP*tmp_q_4 + jac_affine_inv_1_1_GREEN_UP*tmp_q_4 + jac_affine_inv_2_1_GREEN_UP*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_GREEN_UP*tmp_q_4 + jac_affine_inv_1_2_GREEN_UP*tmp_q_4 + jac_affine_inv_2_2_GREEN_UP*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_GREEN_UP*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_GREEN_UP*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_GREEN_UP*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GREEN_UP*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_GREEN_UP*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_GREEN_UP*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_GREEN_UP*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_GREEN_UP*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_GREEN_UP*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_GREEN_UP*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_GREEN_UP*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_GREEN_UP*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_GREEN_UP*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_GREEN_UP*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_GREEN_UP*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_GREEN_UP*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_GREEN_UP*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_GREEN_UP*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_GREEN_UP*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_GREEN_UP*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_GREEN_UP*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_GREEN_UP*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_GREEN_UP*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_GREEN_UP*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_GREEN_UP*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_GREEN_UP*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_GREEN_UP*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_GREEN_UP*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_GREEN_UP*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_GREEN_UP*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_GREEN_UP*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_GREEN_UP*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_GREEN_UP*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_GREEN_UP*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_GREEN_UP*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_GREEN_UP*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_q_71 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_q_71 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_q_72 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_q_72 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_q_73 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_q_73 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_GREEN_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_GREEN_UP*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_GREEN_UP*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_GREEN_UP*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_GREEN_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_GREEN_UP*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_GREEN_UP*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_GREEN_UP*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_GREEN_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_GREEN_UP*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_GREEN_UP*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_GREEN_UP*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_UP*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_UP*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_GREEN_UP*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_UP*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_UP*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_GREEN_UP*jac_affine_inv_0_0_GREEN_UP)*tmp_qloop_71 + (jac_affine_inv_0_1_GREEN_UP*jac_affine_inv_0_1_GREEN_UP)*tmp_qloop_71 + (jac_affine_inv_0_2_GREEN_UP*jac_affine_inv_0_2_GREEN_UP)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_GREEN_UP*jac_affine_inv_1_0_GREEN_UP)*tmp_qloop_72 + (jac_affine_inv_1_1_GREEN_UP*jac_affine_inv_1_1_GREEN_UP)*tmp_qloop_72 + (jac_affine_inv_1_2_GREEN_UP*jac_affine_inv_1_2_GREEN_UP)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_GREEN_UP*jac_affine_inv_2_0_GREEN_UP)*tmp_qloop_73 + (jac_affine_inv_2_1_GREEN_UP*jac_affine_inv_2_1_GREEN_UP)*tmp_qloop_73 + (jac_affine_inv_2_2_GREEN_UP*jac_affine_inv_2_2_GREEN_UP)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_GREEN_UP*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_GREEN_UP*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_GREEN_UP*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -2615,110 +2615,110 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMat_0_0 = q_acc_0_0; - const real_t elMat_0_1 = q_acc_0_1; - const real_t elMat_0_2 = q_acc_0_2; - const real_t elMat_0_3 = q_acc_0_3; - const real_t elMat_0_4 = q_acc_0_4; - const real_t elMat_0_5 = q_acc_0_5; - const real_t elMat_0_6 = q_acc_0_6; - const real_t elMat_0_7 = q_acc_0_7; - const real_t elMat_0_8 = q_acc_0_8; - const real_t elMat_0_9 = q_acc_0_9; - const real_t elMat_1_0 = q_acc_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; - const real_t elMat_3_4 = q_acc_3_4; - const real_t elMat_3_5 = q_acc_3_5; - const real_t elMat_3_6 = q_acc_3_6; - const real_t elMat_3_7 = q_acc_3_7; - const real_t elMat_3_8 = q_acc_3_8; - const real_t elMat_3_9 = q_acc_3_9; - const real_t elMat_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_4_6 = q_acc_4_6; - const real_t elMat_4_7 = q_acc_4_7; - const real_t elMat_4_8 = q_acc_4_8; - const real_t elMat_4_9 = q_acc_4_9; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; - const real_t elMat_5_6 = q_acc_5_6; - const real_t elMat_5_7 = q_acc_5_7; - const real_t elMat_5_8 = q_acc_5_8; - const real_t elMat_5_9 = q_acc_5_9; - const real_t elMat_6_0 = q_acc_0_6; - const real_t elMat_6_1 = q_acc_1_6; - const real_t elMat_6_2 = q_acc_2_6; - const real_t elMat_6_3 = q_acc_3_6; - const real_t elMat_6_4 = q_acc_4_6; - const real_t elMat_6_5 = q_acc_5_6; - const real_t elMat_6_6 = q_acc_6_6; - const real_t elMat_6_7 = q_acc_6_7; - const real_t elMat_6_8 = q_acc_6_8; - const real_t elMat_6_9 = q_acc_6_9; - const real_t elMat_7_0 = q_acc_0_7; - const real_t elMat_7_1 = q_acc_1_7; - const real_t elMat_7_2 = q_acc_2_7; - const real_t elMat_7_3 = q_acc_3_7; - const real_t elMat_7_4 = q_acc_4_7; - const real_t elMat_7_5 = q_acc_5_7; - const real_t elMat_7_6 = q_acc_6_7; - const real_t elMat_7_7 = q_acc_7_7; - const real_t elMat_7_8 = q_acc_7_8; - const real_t elMat_7_9 = q_acc_7_9; - const real_t elMat_8_0 = q_acc_0_8; - const real_t elMat_8_1 = q_acc_1_8; - const real_t elMat_8_2 = q_acc_2_8; - const real_t elMat_8_3 = q_acc_3_8; - const real_t elMat_8_4 = q_acc_4_8; - const real_t elMat_8_5 = q_acc_5_8; - const real_t elMat_8_6 = q_acc_6_8; - const real_t elMat_8_7 = q_acc_7_8; - const real_t elMat_8_8 = q_acc_8_8; - const real_t elMat_8_9 = q_acc_8_9; - const real_t elMat_9_0 = q_acc_0_9; - const real_t elMat_9_1 = q_acc_1_9; - const real_t elMat_9_2 = q_acc_2_9; - const real_t elMat_9_3 = q_acc_3_9; - const real_t elMat_9_4 = q_acc_4_9; - const real_t elMat_9_5 = q_acc_5_9; - const real_t elMat_9_6 = q_acc_6_9; - const real_t elMat_9_7 = q_acc_7_9; - const real_t elMat_9_8 = q_acc_8_9; - const real_t elMat_9_9 = q_acc_9_9; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_0_6 = q_acc_0_6; + const walberla::float64 elMat_0_7 = q_acc_0_7; + const walberla::float64 elMat_0_8 = q_acc_0_8; + const walberla::float64 elMat_0_9 = q_acc_0_9; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_1_6 = q_acc_1_6; + const walberla::float64 elMat_1_7 = q_acc_1_7; + const walberla::float64 elMat_1_8 = q_acc_1_8; + const walberla::float64 elMat_1_9 = q_acc_1_9; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_2_6 = q_acc_2_6; + const walberla::float64 elMat_2_7 = q_acc_2_7; + const walberla::float64 elMat_2_8 = q_acc_2_8; + const walberla::float64 elMat_2_9 = q_acc_2_9; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_3_6 = q_acc_3_6; + const walberla::float64 elMat_3_7 = q_acc_3_7; + const walberla::float64 elMat_3_8 = q_acc_3_8; + const walberla::float64 elMat_3_9 = q_acc_3_9; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_4_6 = q_acc_4_6; + const walberla::float64 elMat_4_7 = q_acc_4_7; + const walberla::float64 elMat_4_8 = q_acc_4_8; + const walberla::float64 elMat_4_9 = q_acc_4_9; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_5_6 = q_acc_5_6; + const walberla::float64 elMat_5_7 = q_acc_5_7; + const walberla::float64 elMat_5_8 = q_acc_5_8; + const walberla::float64 elMat_5_9 = q_acc_5_9; + const walberla::float64 elMat_6_0 = q_acc_0_6; + const walberla::float64 elMat_6_1 = q_acc_1_6; + const walberla::float64 elMat_6_2 = q_acc_2_6; + const walberla::float64 elMat_6_3 = q_acc_3_6; + const walberla::float64 elMat_6_4 = q_acc_4_6; + const walberla::float64 elMat_6_5 = q_acc_5_6; + const walberla::float64 elMat_6_6 = q_acc_6_6; + const walberla::float64 elMat_6_7 = q_acc_6_7; + const walberla::float64 elMat_6_8 = q_acc_6_8; + const walberla::float64 elMat_6_9 = q_acc_6_9; + const walberla::float64 elMat_7_0 = q_acc_0_7; + const walberla::float64 elMat_7_1 = q_acc_1_7; + const walberla::float64 elMat_7_2 = q_acc_2_7; + const walberla::float64 elMat_7_3 = q_acc_3_7; + const walberla::float64 elMat_7_4 = q_acc_4_7; + const walberla::float64 elMat_7_5 = q_acc_5_7; + const walberla::float64 elMat_7_6 = q_acc_6_7; + const walberla::float64 elMat_7_7 = q_acc_7_7; + const walberla::float64 elMat_7_8 = q_acc_7_8; + const walberla::float64 elMat_7_9 = q_acc_7_9; + const walberla::float64 elMat_8_0 = q_acc_0_8; + const walberla::float64 elMat_8_1 = q_acc_1_8; + const walberla::float64 elMat_8_2 = q_acc_2_8; + const walberla::float64 elMat_8_3 = q_acc_3_8; + const walberla::float64 elMat_8_4 = q_acc_4_8; + const walberla::float64 elMat_8_5 = q_acc_5_8; + const walberla::float64 elMat_8_6 = q_acc_6_8; + const walberla::float64 elMat_8_7 = q_acc_7_8; + const walberla::float64 elMat_8_8 = q_acc_8_8; + const walberla::float64 elMat_8_9 = q_acc_8_9; + const walberla::float64 elMat_9_0 = q_acc_0_9; + const walberla::float64 elMat_9_1 = q_acc_1_9; + const walberla::float64 elMat_9_2 = q_acc_2_9; + const walberla::float64 elMat_9_3 = q_acc_3_9; + const walberla::float64 elMat_9_4 = q_acc_4_9; + const walberla::float64 elMat_9_5 = q_acc_5_9; + const walberla::float64 elMat_9_6 = q_acc_6_9; + const walberla::float64 elMat_9_7 = q_acc_7_9; + const walberla::float64 elMat_9_8 = q_acc_8_9; + const walberla::float64 elMat_9_9 = q_acc_9_9; std::vector< uint_t > _data_rowIdx( 10 ); std::vector< uint_t > _data_colIdx( 10 ); - std::vector< real_t > _data_mat( 100 ); + std::vector< walberla::float64 > _data_mat( 100 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); @@ -2745,379 +2745,379 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, - _data_mat[0] = ((real_t)(elMat_0_0)); - _data_mat[1] = ((real_t)(elMat_0_1)); - _data_mat[2] = ((real_t)(elMat_0_2)); - _data_mat[3] = ((real_t)(elMat_0_3)); - _data_mat[4] = ((real_t)(elMat_0_4)); - _data_mat[5] = ((real_t)(elMat_0_5)); - _data_mat[6] = ((real_t)(elMat_0_6)); - _data_mat[7] = ((real_t)(elMat_0_7)); - _data_mat[8] = ((real_t)(elMat_0_8)); - _data_mat[9] = ((real_t)(elMat_0_9)); - _data_mat[10] = ((real_t)(elMat_1_0)); - _data_mat[11] = ((real_t)(elMat_1_1)); - _data_mat[12] = ((real_t)(elMat_1_2)); - _data_mat[13] = ((real_t)(elMat_1_3)); - _data_mat[14] = ((real_t)(elMat_1_4)); - _data_mat[15] = ((real_t)(elMat_1_5)); - _data_mat[16] = ((real_t)(elMat_1_6)); - _data_mat[17] = ((real_t)(elMat_1_7)); - _data_mat[18] = ((real_t)(elMat_1_8)); - _data_mat[19] = ((real_t)(elMat_1_9)); - _data_mat[20] = ((real_t)(elMat_2_0)); - _data_mat[21] = ((real_t)(elMat_2_1)); - _data_mat[22] = ((real_t)(elMat_2_2)); - _data_mat[23] = ((real_t)(elMat_2_3)); - _data_mat[24] = ((real_t)(elMat_2_4)); - _data_mat[25] = ((real_t)(elMat_2_5)); - _data_mat[26] = ((real_t)(elMat_2_6)); - _data_mat[27] = ((real_t)(elMat_2_7)); - _data_mat[28] = ((real_t)(elMat_2_8)); - _data_mat[29] = ((real_t)(elMat_2_9)); - _data_mat[30] = ((real_t)(elMat_3_0)); - _data_mat[31] = ((real_t)(elMat_3_1)); - _data_mat[32] = ((real_t)(elMat_3_2)); - _data_mat[33] = ((real_t)(elMat_3_3)); - _data_mat[34] = ((real_t)(elMat_3_4)); - _data_mat[35] = ((real_t)(elMat_3_5)); - _data_mat[36] = ((real_t)(elMat_3_6)); - _data_mat[37] = ((real_t)(elMat_3_7)); - _data_mat[38] = ((real_t)(elMat_3_8)); - _data_mat[39] = ((real_t)(elMat_3_9)); - _data_mat[40] = ((real_t)(elMat_4_0)); - _data_mat[41] = ((real_t)(elMat_4_1)); - _data_mat[42] = ((real_t)(elMat_4_2)); - _data_mat[43] = ((real_t)(elMat_4_3)); - _data_mat[44] = ((real_t)(elMat_4_4)); - _data_mat[45] = ((real_t)(elMat_4_5)); - _data_mat[46] = ((real_t)(elMat_4_6)); - _data_mat[47] = ((real_t)(elMat_4_7)); - _data_mat[48] = ((real_t)(elMat_4_8)); - _data_mat[49] = ((real_t)(elMat_4_9)); - _data_mat[50] = ((real_t)(elMat_5_0)); - _data_mat[51] = ((real_t)(elMat_5_1)); - _data_mat[52] = ((real_t)(elMat_5_2)); - _data_mat[53] = ((real_t)(elMat_5_3)); - _data_mat[54] = ((real_t)(elMat_5_4)); - _data_mat[55] = ((real_t)(elMat_5_5)); - _data_mat[56] = ((real_t)(elMat_5_6)); - _data_mat[57] = ((real_t)(elMat_5_7)); - _data_mat[58] = ((real_t)(elMat_5_8)); - _data_mat[59] = ((real_t)(elMat_5_9)); - _data_mat[60] = ((real_t)(elMat_6_0)); - _data_mat[61] = ((real_t)(elMat_6_1)); - _data_mat[62] = ((real_t)(elMat_6_2)); - _data_mat[63] = ((real_t)(elMat_6_3)); - _data_mat[64] = ((real_t)(elMat_6_4)); - _data_mat[65] = ((real_t)(elMat_6_5)); - _data_mat[66] = ((real_t)(elMat_6_6)); - _data_mat[67] = ((real_t)(elMat_6_7)); - _data_mat[68] = ((real_t)(elMat_6_8)); - _data_mat[69] = ((real_t)(elMat_6_9)); - _data_mat[70] = ((real_t)(elMat_7_0)); - _data_mat[71] = ((real_t)(elMat_7_1)); - _data_mat[72] = ((real_t)(elMat_7_2)); - _data_mat[73] = ((real_t)(elMat_7_3)); - _data_mat[74] = ((real_t)(elMat_7_4)); - _data_mat[75] = ((real_t)(elMat_7_5)); - _data_mat[76] = ((real_t)(elMat_7_6)); - _data_mat[77] = ((real_t)(elMat_7_7)); - _data_mat[78] = ((real_t)(elMat_7_8)); - _data_mat[79] = ((real_t)(elMat_7_9)); - _data_mat[80] = ((real_t)(elMat_8_0)); - _data_mat[81] = ((real_t)(elMat_8_1)); - _data_mat[82] = ((real_t)(elMat_8_2)); - _data_mat[83] = ((real_t)(elMat_8_3)); - _data_mat[84] = ((real_t)(elMat_8_4)); - _data_mat[85] = ((real_t)(elMat_8_5)); - _data_mat[86] = ((real_t)(elMat_8_6)); - _data_mat[87] = ((real_t)(elMat_8_7)); - _data_mat[88] = ((real_t)(elMat_8_8)); - _data_mat[89] = ((real_t)(elMat_8_9)); - _data_mat[90] = ((real_t)(elMat_9_0)); - _data_mat[91] = ((real_t)(elMat_9_1)); - _data_mat[92] = ((real_t)(elMat_9_2)); - _data_mat[93] = ((real_t)(elMat_9_3)); - _data_mat[94] = ((real_t)(elMat_9_4)); - _data_mat[95] = ((real_t)(elMat_9_5)); - _data_mat[96] = ((real_t)(elMat_9_6)); - _data_mat[97] = ((real_t)(elMat_9_7)); - _data_mat[98] = ((real_t)(elMat_9_8)); - _data_mat[99] = ((real_t)(elMat_9_9)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_0_6)); + _data_mat[7] = ((walberla::float64)(elMat_0_7)); + _data_mat[8] = ((walberla::float64)(elMat_0_8)); + _data_mat[9] = ((walberla::float64)(elMat_0_9)); + _data_mat[10] = ((walberla::float64)(elMat_1_0)); + _data_mat[11] = ((walberla::float64)(elMat_1_1)); + _data_mat[12] = ((walberla::float64)(elMat_1_2)); + _data_mat[13] = ((walberla::float64)(elMat_1_3)); + _data_mat[14] = ((walberla::float64)(elMat_1_4)); + _data_mat[15] = ((walberla::float64)(elMat_1_5)); + _data_mat[16] = ((walberla::float64)(elMat_1_6)); + _data_mat[17] = ((walberla::float64)(elMat_1_7)); + _data_mat[18] = ((walberla::float64)(elMat_1_8)); + _data_mat[19] = ((walberla::float64)(elMat_1_9)); + _data_mat[20] = ((walberla::float64)(elMat_2_0)); + _data_mat[21] = ((walberla::float64)(elMat_2_1)); + _data_mat[22] = ((walberla::float64)(elMat_2_2)); + _data_mat[23] = ((walberla::float64)(elMat_2_3)); + _data_mat[24] = ((walberla::float64)(elMat_2_4)); + _data_mat[25] = ((walberla::float64)(elMat_2_5)); + _data_mat[26] = ((walberla::float64)(elMat_2_6)); + _data_mat[27] = ((walberla::float64)(elMat_2_7)); + _data_mat[28] = ((walberla::float64)(elMat_2_8)); + _data_mat[29] = ((walberla::float64)(elMat_2_9)); + _data_mat[30] = ((walberla::float64)(elMat_3_0)); + _data_mat[31] = ((walberla::float64)(elMat_3_1)); + _data_mat[32] = ((walberla::float64)(elMat_3_2)); + _data_mat[33] = ((walberla::float64)(elMat_3_3)); + _data_mat[34] = ((walberla::float64)(elMat_3_4)); + _data_mat[35] = ((walberla::float64)(elMat_3_5)); + _data_mat[36] = ((walberla::float64)(elMat_3_6)); + _data_mat[37] = ((walberla::float64)(elMat_3_7)); + _data_mat[38] = ((walberla::float64)(elMat_3_8)); + _data_mat[39] = ((walberla::float64)(elMat_3_9)); + _data_mat[40] = ((walberla::float64)(elMat_4_0)); + _data_mat[41] = ((walberla::float64)(elMat_4_1)); + _data_mat[42] = ((walberla::float64)(elMat_4_2)); + _data_mat[43] = ((walberla::float64)(elMat_4_3)); + _data_mat[44] = ((walberla::float64)(elMat_4_4)); + _data_mat[45] = ((walberla::float64)(elMat_4_5)); + _data_mat[46] = ((walberla::float64)(elMat_4_6)); + _data_mat[47] = ((walberla::float64)(elMat_4_7)); + _data_mat[48] = ((walberla::float64)(elMat_4_8)); + _data_mat[49] = ((walberla::float64)(elMat_4_9)); + _data_mat[50] = ((walberla::float64)(elMat_5_0)); + _data_mat[51] = ((walberla::float64)(elMat_5_1)); + _data_mat[52] = ((walberla::float64)(elMat_5_2)); + _data_mat[53] = ((walberla::float64)(elMat_5_3)); + _data_mat[54] = ((walberla::float64)(elMat_5_4)); + _data_mat[55] = ((walberla::float64)(elMat_5_5)); + _data_mat[56] = ((walberla::float64)(elMat_5_6)); + _data_mat[57] = ((walberla::float64)(elMat_5_7)); + _data_mat[58] = ((walberla::float64)(elMat_5_8)); + _data_mat[59] = ((walberla::float64)(elMat_5_9)); + _data_mat[60] = ((walberla::float64)(elMat_6_0)); + _data_mat[61] = ((walberla::float64)(elMat_6_1)); + _data_mat[62] = ((walberla::float64)(elMat_6_2)); + _data_mat[63] = ((walberla::float64)(elMat_6_3)); + _data_mat[64] = ((walberla::float64)(elMat_6_4)); + _data_mat[65] = ((walberla::float64)(elMat_6_5)); + _data_mat[66] = ((walberla::float64)(elMat_6_6)); + _data_mat[67] = ((walberla::float64)(elMat_6_7)); + _data_mat[68] = ((walberla::float64)(elMat_6_8)); + _data_mat[69] = ((walberla::float64)(elMat_6_9)); + _data_mat[70] = ((walberla::float64)(elMat_7_0)); + _data_mat[71] = ((walberla::float64)(elMat_7_1)); + _data_mat[72] = ((walberla::float64)(elMat_7_2)); + _data_mat[73] = ((walberla::float64)(elMat_7_3)); + _data_mat[74] = ((walberla::float64)(elMat_7_4)); + _data_mat[75] = ((walberla::float64)(elMat_7_5)); + _data_mat[76] = ((walberla::float64)(elMat_7_6)); + _data_mat[77] = ((walberla::float64)(elMat_7_7)); + _data_mat[78] = ((walberla::float64)(elMat_7_8)); + _data_mat[79] = ((walberla::float64)(elMat_7_9)); + _data_mat[80] = ((walberla::float64)(elMat_8_0)); + _data_mat[81] = ((walberla::float64)(elMat_8_1)); + _data_mat[82] = ((walberla::float64)(elMat_8_2)); + _data_mat[83] = ((walberla::float64)(elMat_8_3)); + _data_mat[84] = ((walberla::float64)(elMat_8_4)); + _data_mat[85] = ((walberla::float64)(elMat_8_5)); + _data_mat[86] = ((walberla::float64)(elMat_8_6)); + _data_mat[87] = ((walberla::float64)(elMat_8_7)); + _data_mat[88] = ((walberla::float64)(elMat_8_8)); + _data_mat[89] = ((walberla::float64)(elMat_8_9)); + _data_mat[90] = ((walberla::float64)(elMat_9_0)); + _data_mat[91] = ((walberla::float64)(elMat_9_1)); + _data_mat[92] = ((walberla::float64)(elMat_9_2)); + _data_mat[93] = ((walberla::float64)(elMat_9_3)); + _data_mat[94] = ((walberla::float64)(elMat_9_4)); + _data_mat[95] = ((walberla::float64)(elMat_9_5)); + _data_mat[96] = ((walberla::float64)(elMat_9_6)); + _data_mat[97] = ((walberla::float64)(elMat_9_7)); + _data_mat[98] = ((walberla::float64)(elMat_9_8)); + _data_mat[99] = ((walberla::float64)(elMat_9_9)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); } } - const real_t tmp_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; - const real_t tmp_1_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_2comp0); - const real_t tmp_2_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); - const real_t tmp_3_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_2comp2); - const real_t tmp_4_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); - const real_t tmp_5_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); - const real_t tmp_6_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); - const real_t tmp_7_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); - const real_t tmp_8_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); - const real_t tmp_9_GREEN_DOWN = tmp_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); - const real_t p_affine_const_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; - const real_t p_affine_const_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; - const real_t p_affine_const_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; - const real_t p_affine_const_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; - const real_t p_affine_const_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; - const real_t p_affine_const_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; - const real_t p_affine_const_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t p_affine_const_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; - const real_t p_affine_const_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; - const real_t p_affine_const_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; - const real_t jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; - const real_t jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; - const real_t jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; - const real_t jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; - const real_t jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; - const real_t tmp_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; - const real_t jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; - const real_t tmp_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; - const real_t jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; - const real_t jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; - const real_t tmp_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; - const real_t jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; - const real_t tmp_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; - const real_t tmp_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_14_GREEN_DOWN; - const real_t tmp_16_GREEN_DOWN = 1.0 / (tmp_15_GREEN_DOWN); - const real_t jac_affine_inv_0_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_10_GREEN_DOWN - tmp_11_GREEN_DOWN); - const real_t jac_affine_inv_0_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_13_GREEN_DOWN); - const real_t jac_affine_inv_0_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(tmp_12_GREEN_DOWN - tmp_14_GREEN_DOWN); - const real_t jac_affine_inv_1_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_1_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t jac_affine_inv_2_0_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_1_GREEN_DOWN = tmp_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); - const real_t jac_affine_inv_2_2_GREEN_DOWN = tmp_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); - const real_t abs_det_jac_affine_GREEN_DOWN = abs(tmp_15_GREEN_DOWN); + const walberla::float64 tmp_coords_jac_0_GREEN_DOWN = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 tmp_coords_jac_4_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_1comp0); + const walberla::float64 tmp_coords_jac_5_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_1comp1); + const walberla::float64 tmp_coords_jac_6_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_1comp2); + const walberla::float64 tmp_coords_jac_7_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp0 + macro_vertex_coord_id_3comp0); + const walberla::float64 tmp_coords_jac_8_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_3comp1); + const walberla::float64 tmp_coords_jac_9_GREEN_DOWN = tmp_coords_jac_0_GREEN_DOWN*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + const walberla::float64 p_affine_const_0_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN; + const walberla::float64 p_affine_const_0_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN; + const walberla::float64 p_affine_const_0_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN; + const walberla::float64 p_affine_const_1_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_4_GREEN_DOWN; + const walberla::float64 p_affine_const_1_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_5_GREEN_DOWN; + const walberla::float64 p_affine_const_1_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_6_GREEN_DOWN; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 p_affine_const_3_0_GREEN_DOWN = tmp_coords_jac_1_GREEN_DOWN + tmp_coords_jac_7_GREEN_DOWN; + const walberla::float64 p_affine_const_3_1_GREEN_DOWN = tmp_coords_jac_2_GREEN_DOWN + tmp_coords_jac_8_GREEN_DOWN; + const walberla::float64 p_affine_const_3_2_GREEN_DOWN = tmp_coords_jac_3_GREEN_DOWN + tmp_coords_jac_9_GREEN_DOWN; + const walberla::float64 jac_affine_0_0_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_1_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_1_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_2_0_GREEN_DOWN; + const walberla::float64 jac_affine_0_2_GREEN_DOWN = -p_affine_const_0_0_GREEN_DOWN + p_affine_const_3_0_GREEN_DOWN; + const walberla::float64 jac_affine_1_0_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_1_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_2_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_14_GREEN_DOWN = jac_affine_0_2_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN; + const walberla::float64 jac_affine_1_2_GREEN_DOWN = -p_affine_const_0_1_GREEN_DOWN + p_affine_const_3_1_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_12_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_0_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_1_2_GREEN_DOWN; + const walberla::float64 jac_affine_2_1_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_11_GREEN_DOWN = jac_affine_1_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN; + const walberla::float64 jac_affine_2_2_GREEN_DOWN = -p_affine_const_0_2_GREEN_DOWN + p_affine_const_3_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_10_GREEN_DOWN = jac_affine_1_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_13_GREEN_DOWN = jac_affine_0_1_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_15_GREEN_DOWN = jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_10_GREEN_DOWN - jac_affine_0_0_GREEN_DOWN*tmp_coords_jac_11_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_0_GREEN_DOWN*tmp_coords_jac_13_GREEN_DOWN + jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_12_GREEN_DOWN - jac_affine_2_0_GREEN_DOWN*tmp_coords_jac_14_GREEN_DOWN; + const walberla::float64 tmp_coords_jac_16_GREEN_DOWN = 1.0 / (tmp_coords_jac_15_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_10_GREEN_DOWN - tmp_coords_jac_11_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_2_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - tmp_coords_jac_13_GREEN_DOWN); + const walberla::float64 jac_affine_inv_0_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(tmp_coords_jac_12_GREEN_DOWN - tmp_coords_jac_14_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_1_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN + jac_affine_1_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_2_2_GREEN_DOWN - jac_affine_0_2_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_1_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_1_2_GREEN_DOWN + jac_affine_0_2_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_0_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_1_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN - jac_affine_1_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_1_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(-jac_affine_0_0_GREEN_DOWN*jac_affine_2_1_GREEN_DOWN + jac_affine_0_1_GREEN_DOWN*jac_affine_2_0_GREEN_DOWN); + const walberla::float64 jac_affine_inv_2_2_GREEN_DOWN = tmp_coords_jac_16_GREEN_DOWN*(jac_affine_0_0_GREEN_DOWN*jac_affine_1_1_GREEN_DOWN - jac_affine_0_1_GREEN_DOWN*jac_affine_1_0_GREEN_DOWN); + const walberla::float64 abs_det_jac_affine_GREEN_DOWN = abs(tmp_coords_jac_15_GREEN_DOWN); { /* CellType.GREEN_DOWN */ for (int64_t ctr_2 = 0; ctr_2 < micro_edges_per_macro_edge; ctr_2 += 1) for (int64_t ctr_1 = 0; ctr_1 < -ctr_2 + micro_edges_per_macro_edge; ctr_1 += 1) for (int64_t ctr_0 = 0; ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) { - const 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_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_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_3 = 0.0; - real_t q_acc_3_4 = 0.0; - real_t q_acc_3_5 = 0.0; - real_t q_acc_3_6 = 0.0; - real_t q_acc_3_7 = 0.0; - real_t q_acc_3_8 = 0.0; - real_t q_acc_3_9 = 0.0; - real_t q_acc_4_4 = 0.0; - real_t q_acc_4_5 = 0.0; - real_t q_acc_4_6 = 0.0; - real_t q_acc_4_7 = 0.0; - real_t q_acc_4_8 = 0.0; - real_t q_acc_4_9 = 0.0; - real_t q_acc_5_5 = 0.0; - real_t q_acc_5_6 = 0.0; - real_t q_acc_5_7 = 0.0; - real_t q_acc_5_8 = 0.0; - real_t q_acc_5_9 = 0.0; - real_t q_acc_6_6 = 0.0; - real_t q_acc_6_7 = 0.0; - real_t q_acc_6_8 = 0.0; - real_t q_acc_6_9 = 0.0; - real_t q_acc_7_7 = 0.0; - real_t q_acc_7_8 = 0.0; - real_t q_acc_7_9 = 0.0; - real_t q_acc_8_8 = 0.0; - real_t q_acc_8_9 = 0.0; - real_t q_acc_9_9 = 0.0; + const walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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 walberla::float64 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))]; + walberla::float64 q_acc_0_0 = 0.0; + walberla::float64 q_acc_0_1 = 0.0; + walberla::float64 q_acc_0_2 = 0.0; + walberla::float64 q_acc_0_3 = 0.0; + walberla::float64 q_acc_0_4 = 0.0; + walberla::float64 q_acc_0_5 = 0.0; + walberla::float64 q_acc_0_6 = 0.0; + walberla::float64 q_acc_0_7 = 0.0; + walberla::float64 q_acc_0_8 = 0.0; + walberla::float64 q_acc_0_9 = 0.0; + walberla::float64 q_acc_1_1 = 0.0; + walberla::float64 q_acc_1_2 = 0.0; + walberla::float64 q_acc_1_3 = 0.0; + walberla::float64 q_acc_1_4 = 0.0; + walberla::float64 q_acc_1_5 = 0.0; + walberla::float64 q_acc_1_6 = 0.0; + walberla::float64 q_acc_1_7 = 0.0; + walberla::float64 q_acc_1_8 = 0.0; + walberla::float64 q_acc_1_9 = 0.0; + walberla::float64 q_acc_2_2 = 0.0; + walberla::float64 q_acc_2_3 = 0.0; + walberla::float64 q_acc_2_4 = 0.0; + walberla::float64 q_acc_2_5 = 0.0; + walberla::float64 q_acc_2_6 = 0.0; + walberla::float64 q_acc_2_7 = 0.0; + walberla::float64 q_acc_2_8 = 0.0; + walberla::float64 q_acc_2_9 = 0.0; + walberla::float64 q_acc_3_3 = 0.0; + walberla::float64 q_acc_3_4 = 0.0; + walberla::float64 q_acc_3_5 = 0.0; + walberla::float64 q_acc_3_6 = 0.0; + walberla::float64 q_acc_3_7 = 0.0; + walberla::float64 q_acc_3_8 = 0.0; + walberla::float64 q_acc_3_9 = 0.0; + walberla::float64 q_acc_4_4 = 0.0; + walberla::float64 q_acc_4_5 = 0.0; + walberla::float64 q_acc_4_6 = 0.0; + walberla::float64 q_acc_4_7 = 0.0; + walberla::float64 q_acc_4_8 = 0.0; + walberla::float64 q_acc_4_9 = 0.0; + walberla::float64 q_acc_5_5 = 0.0; + walberla::float64 q_acc_5_6 = 0.0; + walberla::float64 q_acc_5_7 = 0.0; + walberla::float64 q_acc_5_8 = 0.0; + walberla::float64 q_acc_5_9 = 0.0; + walberla::float64 q_acc_6_6 = 0.0; + walberla::float64 q_acc_6_7 = 0.0; + walberla::float64 q_acc_6_8 = 0.0; + walberla::float64 q_acc_6_9 = 0.0; + walberla::float64 q_acc_7_7 = 0.0; + walberla::float64 q_acc_7_8 = 0.0; + walberla::float64 q_acc_7_9 = 0.0; + walberla::float64 q_acc_8_8 = 0.0; + walberla::float64 q_acc_8_9 = 0.0; + walberla::float64 q_acc_9_9 = 0.0; for (int64_t q = 0; q < 4; q += 1) { - const real_t tmp_q_0 = 4.0*_data_q_p_2[q]; - const real_t tmp_q_1 = 4.0*_data_q_p_0[q]; - const real_t tmp_q_2 = 4.0*_data_q_p_1[q]; - const real_t tmp_q_3 = tmp_q_1 + tmp_q_2; - const real_t tmp_q_4 = tmp_q_0 + tmp_q_3 - 3.0; - const real_t tmp_q_5 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_6 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_7 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_q_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_q_4; - const real_t tmp_q_8 = tmp_q_1*_data_q_p_1[q]; - const real_t tmp_q_9 = tmp_q_1*_data_q_p_2[q]; - const real_t tmp_q_10 = tmp_q_2*_data_q_p_2[q]; - const real_t tmp_q_11 = (_data_q_p_0[q]*_data_q_p_0[q]); - const real_t tmp_q_12 = tmp_q_11*2.0; - const real_t tmp_q_13 = (_data_q_p_1[q]*_data_q_p_1[q]); - const real_t tmp_q_14 = tmp_q_13*2.0; - const real_t tmp_q_15 = (_data_q_p_2[q]*_data_q_p_2[q]); - const real_t tmp_q_16 = tmp_q_15*2.0; - const real_t tmp_q_17 = tmp_q_8 + tmp_q_9; - const real_t tmp_q_18 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_q_10 + tmp_q_12 + tmp_q_14 + tmp_q_16 + tmp_q_17 - 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_q_12 - _data_q_p_0[q]) + k_dof_2*(tmp_q_14 - _data_q_p_1[q]) + k_dof_3*(tmp_q_16 - _data_q_p_2[q]) + k_dof_4*tmp_q_10 + k_dof_5*tmp_q_9 + k_dof_6*tmp_q_8 + k_dof_7*(tmp_q_0 - tmp_q_10 + tmp_q_15*-4.0 - tmp_q_9) + k_dof_8*(-tmp_q_10 + tmp_q_13*-4.0 + tmp_q_2 - tmp_q_8) + k_dof_9*(tmp_q_1 + tmp_q_11*-4.0 - tmp_q_17))*_data_q_w[q]; - const real_t tmp_q_19 = tmp_q_1 - 1.0; - const real_t tmp_q_20 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_21 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_22 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_19; - const real_t tmp_q_23 = tmp_q_2 - 1.0; - const real_t tmp_q_24 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_25 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_26 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_23; - const real_t tmp_q_27 = tmp_q_0 - 1.0; - const real_t tmp_q_28 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_29 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_30 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_27; - const real_t tmp_q_31 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_33 = tmp_q_31 + tmp_q_32; - const real_t tmp_q_34 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_35 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_36 = tmp_q_34 + tmp_q_35; - const real_t tmp_q_37 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_38 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_39 = tmp_q_37 + tmp_q_38; - const real_t tmp_q_40 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_41 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_42 = tmp_q_40 + tmp_q_41; - const real_t tmp_q_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_45 = tmp_q_43 + tmp_q_44; - const real_t tmp_q_46 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_47 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_0; - const real_t tmp_q_48 = tmp_q_46 + tmp_q_47; - const real_t tmp_q_49 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_50 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_51 = tmp_q_49 + tmp_q_50; - const real_t tmp_q_52 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_53 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_54 = tmp_q_52 + tmp_q_53; - const real_t tmp_q_55 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_1; - const real_t tmp_q_56 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_2; - const real_t tmp_q_57 = tmp_q_55 + tmp_q_56; - const real_t tmp_q_58 = -tmp_q_3 - 8.0*_data_q_p_2[q] + 4.0; - const real_t tmp_q_59 = jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58 - tmp_q_32 - tmp_q_41; - const real_t tmp_q_60 = jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58 - tmp_q_35 - tmp_q_44; - const real_t tmp_q_61 = jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58 - tmp_q_38 - tmp_q_47; - const real_t tmp_q_62 = tmp_q_0 - 4.0; - const real_t tmp_q_63 = -tmp_q_1 - tmp_q_62 - 8.0*_data_q_p_1[q]; - const real_t tmp_q_64 = jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63 - tmp_q_31 - tmp_q_50; - const real_t tmp_q_65 = jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63 - tmp_q_34 - tmp_q_53; - const real_t tmp_q_66 = jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63 - tmp_q_37 - tmp_q_56; - const real_t tmp_q_67 = -tmp_q_2 - tmp_q_62 - 8.0*_data_q_p_0[q]; - const real_t tmp_q_68 = jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67 - tmp_q_40 - tmp_q_49; - const real_t tmp_q_69 = jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67 - tmp_q_43 - tmp_q_52; - const real_t tmp_q_70 = jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67 - tmp_q_46 - tmp_q_55; - const real_t tmp_q_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; - const real_t tmp_q_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; - const real_t tmp_q_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; - const real_t tmp_q_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; - const real_t tmp_q_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; - const real_t tmp_q_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; - const real_t tmp_q_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; - const real_t q_tmp_0_0 = tmp_q_18*((tmp_q_5*tmp_q_5) + (tmp_q_6*tmp_q_6) + (tmp_q_7*tmp_q_7)); - const real_t q_tmp_0_1 = tmp_q_18*(tmp_q_20*tmp_q_5 + tmp_q_21*tmp_q_6 + tmp_q_22*tmp_q_7); - const real_t q_tmp_0_2 = tmp_q_18*(tmp_q_24*tmp_q_5 + tmp_q_25*tmp_q_6 + tmp_q_26*tmp_q_7); - const real_t q_tmp_0_3 = tmp_q_18*(tmp_q_28*tmp_q_5 + tmp_q_29*tmp_q_6 + tmp_q_30*tmp_q_7); - const real_t q_tmp_0_4 = tmp_q_18*(tmp_q_33*tmp_q_5 + tmp_q_36*tmp_q_6 + tmp_q_39*tmp_q_7); - const real_t q_tmp_0_5 = tmp_q_18*(tmp_q_42*tmp_q_5 + tmp_q_45*tmp_q_6 + tmp_q_48*tmp_q_7); - const real_t q_tmp_0_6 = tmp_q_18*(tmp_q_5*tmp_q_51 + tmp_q_54*tmp_q_6 + tmp_q_57*tmp_q_7); - const real_t q_tmp_0_7 = tmp_q_18*(tmp_q_5*tmp_q_59 + tmp_q_6*tmp_q_60 + tmp_q_61*tmp_q_7); - const real_t q_tmp_0_8 = tmp_q_18*(tmp_q_5*tmp_q_64 + tmp_q_6*tmp_q_65 + tmp_q_66*tmp_q_7); - const real_t q_tmp_0_9 = tmp_q_18*(tmp_q_5*tmp_q_68 + tmp_q_6*tmp_q_69 + tmp_q_7*tmp_q_70); - const real_t q_tmp_1_1 = tmp_q_18*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_q_71 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_q_71 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_q_71); - const real_t q_tmp_1_2 = tmp_q_18*(tmp_q_20*tmp_q_24 + tmp_q_21*tmp_q_25 + tmp_q_22*tmp_q_26); - const real_t q_tmp_1_3 = tmp_q_18*(tmp_q_20*tmp_q_28 + tmp_q_21*tmp_q_29 + tmp_q_22*tmp_q_30); - const real_t q_tmp_1_4 = tmp_q_18*(tmp_q_20*tmp_q_33 + tmp_q_21*tmp_q_36 + tmp_q_22*tmp_q_39); - const real_t q_tmp_1_5 = tmp_q_18*(tmp_q_20*tmp_q_42 + tmp_q_21*tmp_q_45 + tmp_q_22*tmp_q_48); - const real_t q_tmp_1_6 = tmp_q_18*(tmp_q_20*tmp_q_51 + tmp_q_21*tmp_q_54 + tmp_q_22*tmp_q_57); - const real_t q_tmp_1_7 = tmp_q_18*(tmp_q_20*tmp_q_59 + tmp_q_21*tmp_q_60 + tmp_q_22*tmp_q_61); - const real_t q_tmp_1_8 = tmp_q_18*(tmp_q_20*tmp_q_64 + tmp_q_21*tmp_q_65 + tmp_q_22*tmp_q_66); - const real_t q_tmp_1_9 = tmp_q_18*(tmp_q_20*tmp_q_68 + tmp_q_21*tmp_q_69 + tmp_q_22*tmp_q_70); - const real_t q_tmp_2_2 = tmp_q_18*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_q_72 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_q_72 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_q_72); - const real_t q_tmp_2_3 = tmp_q_18*(tmp_q_24*tmp_q_28 + tmp_q_25*tmp_q_29 + tmp_q_26*tmp_q_30); - const real_t q_tmp_2_4 = tmp_q_18*(tmp_q_24*tmp_q_33 + tmp_q_25*tmp_q_36 + tmp_q_26*tmp_q_39); - const real_t q_tmp_2_5 = tmp_q_18*(tmp_q_24*tmp_q_42 + tmp_q_25*tmp_q_45 + tmp_q_26*tmp_q_48); - const real_t q_tmp_2_6 = tmp_q_18*(tmp_q_24*tmp_q_51 + tmp_q_25*tmp_q_54 + tmp_q_26*tmp_q_57); - const real_t q_tmp_2_7 = tmp_q_18*(tmp_q_24*tmp_q_59 + tmp_q_25*tmp_q_60 + tmp_q_26*tmp_q_61); - const real_t q_tmp_2_8 = tmp_q_18*(tmp_q_24*tmp_q_64 + tmp_q_25*tmp_q_65 + tmp_q_26*tmp_q_66); - const real_t q_tmp_2_9 = tmp_q_18*(tmp_q_24*tmp_q_68 + tmp_q_25*tmp_q_69 + tmp_q_26*tmp_q_70); - const real_t q_tmp_3_3 = tmp_q_18*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_q_73 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_q_73 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_q_73); - const real_t q_tmp_3_4 = tmp_q_18*(tmp_q_28*tmp_q_33 + tmp_q_29*tmp_q_36 + tmp_q_30*tmp_q_39); - const real_t q_tmp_3_5 = tmp_q_18*(tmp_q_28*tmp_q_42 + tmp_q_29*tmp_q_45 + tmp_q_30*tmp_q_48); - const real_t q_tmp_3_6 = tmp_q_18*(tmp_q_28*tmp_q_51 + tmp_q_29*tmp_q_54 + tmp_q_30*tmp_q_57); - const real_t q_tmp_3_7 = tmp_q_18*(tmp_q_28*tmp_q_59 + tmp_q_29*tmp_q_60 + tmp_q_30*tmp_q_61); - const real_t q_tmp_3_8 = tmp_q_18*(tmp_q_28*tmp_q_64 + tmp_q_29*tmp_q_65 + tmp_q_30*tmp_q_66); - const real_t q_tmp_3_9 = tmp_q_18*(tmp_q_28*tmp_q_68 + tmp_q_29*tmp_q_69 + tmp_q_30*tmp_q_70); - const real_t q_tmp_4_4 = tmp_q_18*(((tmp_q_74 + tmp_q_75)*(tmp_q_74 + tmp_q_75))*16.0 + ((tmp_q_76 + tmp_q_77)*(tmp_q_76 + tmp_q_77))*16.0 + ((tmp_q_78 + tmp_q_79)*(tmp_q_78 + tmp_q_79))*16.0); - const real_t q_tmp_4_5 = tmp_q_18*(tmp_q_33*tmp_q_42 + tmp_q_36*tmp_q_45 + tmp_q_39*tmp_q_48); - const real_t q_tmp_4_6 = tmp_q_18*(tmp_q_33*tmp_q_51 + tmp_q_36*tmp_q_54 + tmp_q_39*tmp_q_57); - const real_t q_tmp_4_7 = tmp_q_18*(tmp_q_33*tmp_q_59 + tmp_q_36*tmp_q_60 + tmp_q_39*tmp_q_61); - const real_t q_tmp_4_8 = tmp_q_18*(tmp_q_33*tmp_q_64 + tmp_q_36*tmp_q_65 + tmp_q_39*tmp_q_66); - const real_t q_tmp_4_9 = tmp_q_18*(tmp_q_33*tmp_q_68 + tmp_q_36*tmp_q_69 + tmp_q_39*tmp_q_70); - const real_t q_tmp_5_5 = tmp_q_18*(((tmp_q_80 + tmp_q_81)*(tmp_q_80 + tmp_q_81))*16.0 + ((tmp_q_82 + tmp_q_83)*(tmp_q_82 + tmp_q_83))*16.0 + ((tmp_q_84 + tmp_q_85)*(tmp_q_84 + tmp_q_85))*16.0); - const real_t q_tmp_5_6 = tmp_q_18*(tmp_q_42*tmp_q_51 + tmp_q_45*tmp_q_54 + tmp_q_48*tmp_q_57); - const real_t q_tmp_5_7 = tmp_q_18*(tmp_q_42*tmp_q_59 + tmp_q_45*tmp_q_60 + tmp_q_48*tmp_q_61); - const real_t q_tmp_5_8 = tmp_q_18*(tmp_q_42*tmp_q_64 + tmp_q_45*tmp_q_65 + tmp_q_48*tmp_q_66); - const real_t q_tmp_5_9 = tmp_q_18*(tmp_q_42*tmp_q_68 + tmp_q_45*tmp_q_69 + tmp_q_48*tmp_q_70); - const real_t q_tmp_6_6 = tmp_q_18*(((tmp_q_86 + tmp_q_87)*(tmp_q_86 + tmp_q_87))*16.0 + ((tmp_q_88 + tmp_q_89)*(tmp_q_88 + tmp_q_89))*16.0 + ((tmp_q_90 + tmp_q_91)*(tmp_q_90 + tmp_q_91))*16.0); - const real_t q_tmp_6_7 = tmp_q_18*(tmp_q_51*tmp_q_59 + tmp_q_54*tmp_q_60 + tmp_q_57*tmp_q_61); - const real_t q_tmp_6_8 = tmp_q_18*(tmp_q_51*tmp_q_64 + tmp_q_54*tmp_q_65 + tmp_q_57*tmp_q_66); - const real_t q_tmp_6_9 = tmp_q_18*(tmp_q_51*tmp_q_68 + tmp_q_54*tmp_q_69 + tmp_q_57*tmp_q_70); - const real_t q_tmp_7_7 = tmp_q_18*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_75 - tmp_q_81))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_77 - tmp_q_83))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_q_58*0.25 - tmp_q_79 - tmp_q_85))*16.0); - const real_t q_tmp_7_8 = tmp_q_18*(tmp_q_59*tmp_q_64 + tmp_q_60*tmp_q_65 + tmp_q_61*tmp_q_66); - const real_t q_tmp_7_9 = tmp_q_18*(tmp_q_59*tmp_q_68 + tmp_q_60*tmp_q_69 + tmp_q_61*tmp_q_70); - const real_t q_tmp_8_8 = tmp_q_18*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_74 - tmp_q_87))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_76 - tmp_q_89))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_q_63*0.25 - tmp_q_78 - tmp_q_91))*16.0); - const real_t q_tmp_8_9 = tmp_q_18*(tmp_q_64*tmp_q_68 + tmp_q_65*tmp_q_69 + tmp_q_66*tmp_q_70); - const real_t q_tmp_9_9 = tmp_q_18*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_80 - tmp_q_86))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_82 - tmp_q_88))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_q_67*0.25 - tmp_q_84 - tmp_q_90))*16.0); + const walberla::float64 tmp_qloop_0 = 4.0*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_1 = 4.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_2 = 4.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_3 = tmp_qloop_1 + tmp_qloop_2; + const walberla::float64 tmp_qloop_4 = tmp_qloop_0 + tmp_qloop_3 - 3.0; + const walberla::float64 tmp_qloop_5 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_6 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_7 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_4 + jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_4; + const walberla::float64 tmp_qloop_8 = tmp_qloop_1*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_9 = tmp_qloop_1*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_10 = tmp_qloop_2*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_11 = (_data_q_p_0[q]*_data_q_p_0[q]); + const walberla::float64 tmp_qloop_12 = tmp_qloop_11*2.0; + const walberla::float64 tmp_qloop_13 = (_data_q_p_1[q]*_data_q_p_1[q]); + const walberla::float64 tmp_qloop_14 = tmp_qloop_13*2.0; + const walberla::float64 tmp_qloop_15 = (_data_q_p_2[q]*_data_q_p_2[q]); + const walberla::float64 tmp_qloop_16 = tmp_qloop_15*2.0; + const walberla::float64 tmp_qloop_17 = tmp_qloop_8 + tmp_qloop_9; + const walberla::float64 tmp_qloop_18 = abs_det_jac_affine_GREEN_DOWN*(k_dof_0*(tmp_qloop_10 + tmp_qloop_12 + tmp_qloop_14 + tmp_qloop_16 + tmp_qloop_17 - 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_12 - _data_q_p_0[q]) + k_dof_2*(tmp_qloop_14 - _data_q_p_1[q]) + k_dof_3*(tmp_qloop_16 - _data_q_p_2[q]) + k_dof_4*tmp_qloop_10 + k_dof_5*tmp_qloop_9 + k_dof_6*tmp_qloop_8 + k_dof_7*(tmp_qloop_0 - tmp_qloop_10 + tmp_qloop_15*-4.0 - tmp_qloop_9) + k_dof_8*(-tmp_qloop_10 + tmp_qloop_13*-4.0 + tmp_qloop_2 - tmp_qloop_8) + k_dof_9*(tmp_qloop_1 + tmp_qloop_11*-4.0 - tmp_qloop_17))*_data_q_w[q]; + const walberla::float64 tmp_qloop_19 = tmp_qloop_1 - 1.0; + const walberla::float64 tmp_qloop_20 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_21 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_22 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_19; + const walberla::float64 tmp_qloop_23 = tmp_qloop_2 - 1.0; + const walberla::float64 tmp_qloop_24 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_25 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_26 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_23; + const walberla::float64 tmp_qloop_27 = tmp_qloop_0 - 1.0; + const walberla::float64 tmp_qloop_28 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_29 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_30 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_27; + const walberla::float64 tmp_qloop_31 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_32 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_33 = tmp_qloop_31 + tmp_qloop_32; + const walberla::float64 tmp_qloop_34 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_35 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_36 = tmp_qloop_34 + tmp_qloop_35; + const walberla::float64 tmp_qloop_37 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_38 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_39 = tmp_qloop_37 + tmp_qloop_38; + const walberla::float64 tmp_qloop_40 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_41 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_42 = tmp_qloop_40 + tmp_qloop_41; + const walberla::float64 tmp_qloop_43 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_44 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_45 = tmp_qloop_43 + tmp_qloop_44; + const walberla::float64 tmp_qloop_46 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_47 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_0; + const walberla::float64 tmp_qloop_48 = tmp_qloop_46 + tmp_qloop_47; + const walberla::float64 tmp_qloop_49 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_50 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_51 = tmp_qloop_49 + tmp_qloop_50; + const walberla::float64 tmp_qloop_52 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_53 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_54 = tmp_qloop_52 + tmp_qloop_53; + const walberla::float64 tmp_qloop_55 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_1; + const walberla::float64 tmp_qloop_56 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_2; + const walberla::float64 tmp_qloop_57 = tmp_qloop_55 + tmp_qloop_56; + const walberla::float64 tmp_qloop_58 = -tmp_qloop_3 - 8.0*_data_q_p_2[q] + 4.0; + const walberla::float64 tmp_qloop_59 = jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_32 - tmp_qloop_41; + const walberla::float64 tmp_qloop_60 = jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_35 - tmp_qloop_44; + const walberla::float64 tmp_qloop_61 = jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58 - tmp_qloop_38 - tmp_qloop_47; + const walberla::float64 tmp_qloop_62 = tmp_qloop_0 - 4.0; + const walberla::float64 tmp_qloop_63 = -tmp_qloop_1 - tmp_qloop_62 - 8.0*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_64 = jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_31 - tmp_qloop_50; + const walberla::float64 tmp_qloop_65 = jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_34 - tmp_qloop_53; + const walberla::float64 tmp_qloop_66 = jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63 - tmp_qloop_37 - tmp_qloop_56; + const walberla::float64 tmp_qloop_67 = -tmp_qloop_2 - tmp_qloop_62 - 8.0*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_68 = jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_40 - tmp_qloop_49; + const walberla::float64 tmp_qloop_69 = jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_43 - tmp_qloop_52; + const walberla::float64 tmp_qloop_70 = jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67 - tmp_qloop_46 - tmp_qloop_55; + const walberla::float64 tmp_qloop_71 = ((-0.25 + _data_q_p_0[q])*(-0.25 + _data_q_p_0[q]))*16.0; + const walberla::float64 tmp_qloop_72 = ((-0.25 + _data_q_p_1[q])*(-0.25 + _data_q_p_1[q]))*16.0; + const walberla::float64 tmp_qloop_73 = ((-0.25 + _data_q_p_2[q])*(-0.25 + _data_q_p_2[q]))*16.0; + const walberla::float64 tmp_qloop_74 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_75 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_76 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_77 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_78 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_79 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_80 = jac_affine_inv_2_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_81 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_82 = jac_affine_inv_2_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_83 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_84 = jac_affine_inv_2_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_85 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_2[q]; + const walberla::float64 tmp_qloop_86 = jac_affine_inv_1_0_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_87 = jac_affine_inv_0_0_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_88 = jac_affine_inv_1_1_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_89 = jac_affine_inv_0_1_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 tmp_qloop_90 = jac_affine_inv_1_2_GREEN_DOWN*_data_q_p_0[q]; + const walberla::float64 tmp_qloop_91 = jac_affine_inv_0_2_GREEN_DOWN*_data_q_p_1[q]; + const walberla::float64 q_tmp_0_0 = tmp_qloop_18*((tmp_qloop_5*tmp_qloop_5) + (tmp_qloop_6*tmp_qloop_6) + (tmp_qloop_7*tmp_qloop_7)); + const walberla::float64 q_tmp_0_1 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_5 + tmp_qloop_21*tmp_qloop_6 + tmp_qloop_22*tmp_qloop_7); + const walberla::float64 q_tmp_0_2 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_5 + tmp_qloop_25*tmp_qloop_6 + tmp_qloop_26*tmp_qloop_7); + const walberla::float64 q_tmp_0_3 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_5 + tmp_qloop_29*tmp_qloop_6 + tmp_qloop_30*tmp_qloop_7); + const walberla::float64 q_tmp_0_4 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_5 + tmp_qloop_36*tmp_qloop_6 + tmp_qloop_39*tmp_qloop_7); + const walberla::float64 q_tmp_0_5 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_5 + tmp_qloop_45*tmp_qloop_6 + tmp_qloop_48*tmp_qloop_7); + const walberla::float64 q_tmp_0_6 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_51 + tmp_qloop_54*tmp_qloop_6 + tmp_qloop_57*tmp_qloop_7); + const walberla::float64 q_tmp_0_7 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_59 + tmp_qloop_6*tmp_qloop_60 + tmp_qloop_61*tmp_qloop_7); + const walberla::float64 q_tmp_0_8 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_64 + tmp_qloop_6*tmp_qloop_65 + tmp_qloop_66*tmp_qloop_7); + const walberla::float64 q_tmp_0_9 = tmp_qloop_18*(tmp_qloop_5*tmp_qloop_68 + tmp_qloop_6*tmp_qloop_69 + tmp_qloop_7*tmp_qloop_70); + const walberla::float64 q_tmp_1_1 = tmp_qloop_18*((jac_affine_inv_0_0_GREEN_DOWN*jac_affine_inv_0_0_GREEN_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_1_GREEN_DOWN*jac_affine_inv_0_1_GREEN_DOWN)*tmp_qloop_71 + (jac_affine_inv_0_2_GREEN_DOWN*jac_affine_inv_0_2_GREEN_DOWN)*tmp_qloop_71); + const walberla::float64 q_tmp_1_2 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_24 + tmp_qloop_21*tmp_qloop_25 + tmp_qloop_22*tmp_qloop_26); + const walberla::float64 q_tmp_1_3 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_28 + tmp_qloop_21*tmp_qloop_29 + tmp_qloop_22*tmp_qloop_30); + const walberla::float64 q_tmp_1_4 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_33 + tmp_qloop_21*tmp_qloop_36 + tmp_qloop_22*tmp_qloop_39); + const walberla::float64 q_tmp_1_5 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_42 + tmp_qloop_21*tmp_qloop_45 + tmp_qloop_22*tmp_qloop_48); + const walberla::float64 q_tmp_1_6 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_51 + tmp_qloop_21*tmp_qloop_54 + tmp_qloop_22*tmp_qloop_57); + const walberla::float64 q_tmp_1_7 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_59 + tmp_qloop_21*tmp_qloop_60 + tmp_qloop_22*tmp_qloop_61); + const walberla::float64 q_tmp_1_8 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_64 + tmp_qloop_21*tmp_qloop_65 + tmp_qloop_22*tmp_qloop_66); + const walberla::float64 q_tmp_1_9 = tmp_qloop_18*(tmp_qloop_20*tmp_qloop_68 + tmp_qloop_21*tmp_qloop_69 + tmp_qloop_22*tmp_qloop_70); + const walberla::float64 q_tmp_2_2 = tmp_qloop_18*((jac_affine_inv_1_0_GREEN_DOWN*jac_affine_inv_1_0_GREEN_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_1_GREEN_DOWN*jac_affine_inv_1_1_GREEN_DOWN)*tmp_qloop_72 + (jac_affine_inv_1_2_GREEN_DOWN*jac_affine_inv_1_2_GREEN_DOWN)*tmp_qloop_72); + const walberla::float64 q_tmp_2_3 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_28 + tmp_qloop_25*tmp_qloop_29 + tmp_qloop_26*tmp_qloop_30); + const walberla::float64 q_tmp_2_4 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_33 + tmp_qloop_25*tmp_qloop_36 + tmp_qloop_26*tmp_qloop_39); + const walberla::float64 q_tmp_2_5 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_42 + tmp_qloop_25*tmp_qloop_45 + tmp_qloop_26*tmp_qloop_48); + const walberla::float64 q_tmp_2_6 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_51 + tmp_qloop_25*tmp_qloop_54 + tmp_qloop_26*tmp_qloop_57); + const walberla::float64 q_tmp_2_7 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_59 + tmp_qloop_25*tmp_qloop_60 + tmp_qloop_26*tmp_qloop_61); + const walberla::float64 q_tmp_2_8 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_64 + tmp_qloop_25*tmp_qloop_65 + tmp_qloop_26*tmp_qloop_66); + const walberla::float64 q_tmp_2_9 = tmp_qloop_18*(tmp_qloop_24*tmp_qloop_68 + tmp_qloop_25*tmp_qloop_69 + tmp_qloop_26*tmp_qloop_70); + const walberla::float64 q_tmp_3_3 = tmp_qloop_18*((jac_affine_inv_2_0_GREEN_DOWN*jac_affine_inv_2_0_GREEN_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_1_GREEN_DOWN*jac_affine_inv_2_1_GREEN_DOWN)*tmp_qloop_73 + (jac_affine_inv_2_2_GREEN_DOWN*jac_affine_inv_2_2_GREEN_DOWN)*tmp_qloop_73); + const walberla::float64 q_tmp_3_4 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_33 + tmp_qloop_29*tmp_qloop_36 + tmp_qloop_30*tmp_qloop_39); + const walberla::float64 q_tmp_3_5 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_42 + tmp_qloop_29*tmp_qloop_45 + tmp_qloop_30*tmp_qloop_48); + const walberla::float64 q_tmp_3_6 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_51 + tmp_qloop_29*tmp_qloop_54 + tmp_qloop_30*tmp_qloop_57); + const walberla::float64 q_tmp_3_7 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_59 + tmp_qloop_29*tmp_qloop_60 + tmp_qloop_30*tmp_qloop_61); + const walberla::float64 q_tmp_3_8 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_64 + tmp_qloop_29*tmp_qloop_65 + tmp_qloop_30*tmp_qloop_66); + const walberla::float64 q_tmp_3_9 = tmp_qloop_18*(tmp_qloop_28*tmp_qloop_68 + tmp_qloop_29*tmp_qloop_69 + tmp_qloop_30*tmp_qloop_70); + const walberla::float64 q_tmp_4_4 = tmp_qloop_18*(((tmp_qloop_74 + tmp_qloop_75)*(tmp_qloop_74 + tmp_qloop_75))*16.0 + ((tmp_qloop_76 + tmp_qloop_77)*(tmp_qloop_76 + tmp_qloop_77))*16.0 + ((tmp_qloop_78 + tmp_qloop_79)*(tmp_qloop_78 + tmp_qloop_79))*16.0); + const walberla::float64 q_tmp_4_5 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_42 + tmp_qloop_36*tmp_qloop_45 + tmp_qloop_39*tmp_qloop_48); + const walberla::float64 q_tmp_4_6 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_51 + tmp_qloop_36*tmp_qloop_54 + tmp_qloop_39*tmp_qloop_57); + const walberla::float64 q_tmp_4_7 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_59 + tmp_qloop_36*tmp_qloop_60 + tmp_qloop_39*tmp_qloop_61); + const walberla::float64 q_tmp_4_8 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_64 + tmp_qloop_36*tmp_qloop_65 + tmp_qloop_39*tmp_qloop_66); + const walberla::float64 q_tmp_4_9 = tmp_qloop_18*(tmp_qloop_33*tmp_qloop_68 + tmp_qloop_36*tmp_qloop_69 + tmp_qloop_39*tmp_qloop_70); + const walberla::float64 q_tmp_5_5 = tmp_qloop_18*(((tmp_qloop_80 + tmp_qloop_81)*(tmp_qloop_80 + tmp_qloop_81))*16.0 + ((tmp_qloop_82 + tmp_qloop_83)*(tmp_qloop_82 + tmp_qloop_83))*16.0 + ((tmp_qloop_84 + tmp_qloop_85)*(tmp_qloop_84 + tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_5_6 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_51 + tmp_qloop_45*tmp_qloop_54 + tmp_qloop_48*tmp_qloop_57); + const walberla::float64 q_tmp_5_7 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_59 + tmp_qloop_45*tmp_qloop_60 + tmp_qloop_48*tmp_qloop_61); + const walberla::float64 q_tmp_5_8 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_64 + tmp_qloop_45*tmp_qloop_65 + tmp_qloop_48*tmp_qloop_66); + const walberla::float64 q_tmp_5_9 = tmp_qloop_18*(tmp_qloop_42*tmp_qloop_68 + tmp_qloop_45*tmp_qloop_69 + tmp_qloop_48*tmp_qloop_70); + const walberla::float64 q_tmp_6_6 = tmp_qloop_18*(((tmp_qloop_86 + tmp_qloop_87)*(tmp_qloop_86 + tmp_qloop_87))*16.0 + ((tmp_qloop_88 + tmp_qloop_89)*(tmp_qloop_88 + tmp_qloop_89))*16.0 + ((tmp_qloop_90 + tmp_qloop_91)*(tmp_qloop_90 + tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_6_7 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_59 + tmp_qloop_54*tmp_qloop_60 + tmp_qloop_57*tmp_qloop_61); + const walberla::float64 q_tmp_6_8 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_64 + tmp_qloop_54*tmp_qloop_65 + tmp_qloop_57*tmp_qloop_66); + const walberla::float64 q_tmp_6_9 = tmp_qloop_18*(tmp_qloop_51*tmp_qloop_68 + tmp_qloop_54*tmp_qloop_69 + tmp_qloop_57*tmp_qloop_70); + const walberla::float64 q_tmp_7_7 = tmp_qloop_18*(((jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81)*(jac_affine_inv_2_0_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_75 - tmp_qloop_81))*16.0 + ((jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83)*(jac_affine_inv_2_1_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_77 - tmp_qloop_83))*16.0 + ((jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85)*(jac_affine_inv_2_2_GREEN_DOWN*tmp_qloop_58*0.25 - tmp_qloop_79 - tmp_qloop_85))*16.0); + const walberla::float64 q_tmp_7_8 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_64 + tmp_qloop_60*tmp_qloop_65 + tmp_qloop_61*tmp_qloop_66); + const walberla::float64 q_tmp_7_9 = tmp_qloop_18*(tmp_qloop_59*tmp_qloop_68 + tmp_qloop_60*tmp_qloop_69 + tmp_qloop_61*tmp_qloop_70); + const walberla::float64 q_tmp_8_8 = tmp_qloop_18*(((jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87)*(jac_affine_inv_1_0_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_74 - tmp_qloop_87))*16.0 + ((jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89)*(jac_affine_inv_1_1_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_76 - tmp_qloop_89))*16.0 + ((jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91)*(jac_affine_inv_1_2_GREEN_DOWN*tmp_qloop_63*0.25 - tmp_qloop_78 - tmp_qloop_91))*16.0); + const walberla::float64 q_tmp_8_9 = tmp_qloop_18*(tmp_qloop_64*tmp_qloop_68 + tmp_qloop_65*tmp_qloop_69 + tmp_qloop_66*tmp_qloop_70); + const walberla::float64 q_tmp_9_9 = tmp_qloop_18*(((jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86)*(jac_affine_inv_0_0_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_80 - tmp_qloop_86))*16.0 + ((jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88)*(jac_affine_inv_0_1_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_82 - tmp_qloop_88))*16.0 + ((jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90)*(jac_affine_inv_0_2_GREEN_DOWN*tmp_qloop_67*0.25 - tmp_qloop_84 - tmp_qloop_90))*16.0); 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; @@ -3174,110 +3174,110 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, q_acc_8_9 = q_acc_8_9 + q_tmp_8_9; q_acc_9_9 = q_acc_9_9 + q_tmp_9_9; } - const real_t elMat_0_0 = q_acc_0_0; - const real_t elMat_0_1 = q_acc_0_1; - const real_t elMat_0_2 = q_acc_0_2; - const real_t elMat_0_3 = q_acc_0_3; - const real_t elMat_0_4 = q_acc_0_4; - const real_t elMat_0_5 = q_acc_0_5; - const real_t elMat_0_6 = q_acc_0_6; - const real_t elMat_0_7 = q_acc_0_7; - const real_t elMat_0_8 = q_acc_0_8; - const real_t elMat_0_9 = q_acc_0_9; - const real_t elMat_1_0 = q_acc_0_1; - 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_0_2; - const real_t elMat_2_1 = q_acc_1_2; - 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_0_3; - const real_t elMat_3_1 = q_acc_1_3; - const real_t elMat_3_2 = q_acc_2_3; - const real_t elMat_3_3 = q_acc_3_3; - const real_t elMat_3_4 = q_acc_3_4; - const real_t elMat_3_5 = q_acc_3_5; - const real_t elMat_3_6 = q_acc_3_6; - const real_t elMat_3_7 = q_acc_3_7; - const real_t elMat_3_8 = q_acc_3_8; - const real_t elMat_3_9 = q_acc_3_9; - const real_t elMat_4_0 = q_acc_0_4; - const real_t elMat_4_1 = q_acc_1_4; - const real_t elMat_4_2 = q_acc_2_4; - const real_t elMat_4_3 = q_acc_3_4; - const real_t elMat_4_4 = q_acc_4_4; - const real_t elMat_4_5 = q_acc_4_5; - const real_t elMat_4_6 = q_acc_4_6; - const real_t elMat_4_7 = q_acc_4_7; - const real_t elMat_4_8 = q_acc_4_8; - const real_t elMat_4_9 = q_acc_4_9; - const real_t elMat_5_0 = q_acc_0_5; - const real_t elMat_5_1 = q_acc_1_5; - const real_t elMat_5_2 = q_acc_2_5; - const real_t elMat_5_3 = q_acc_3_5; - const real_t elMat_5_4 = q_acc_4_5; - const real_t elMat_5_5 = q_acc_5_5; - const real_t elMat_5_6 = q_acc_5_6; - const real_t elMat_5_7 = q_acc_5_7; - const real_t elMat_5_8 = q_acc_5_8; - const real_t elMat_5_9 = q_acc_5_9; - const real_t elMat_6_0 = q_acc_0_6; - const real_t elMat_6_1 = q_acc_1_6; - const real_t elMat_6_2 = q_acc_2_6; - const real_t elMat_6_3 = q_acc_3_6; - const real_t elMat_6_4 = q_acc_4_6; - const real_t elMat_6_5 = q_acc_5_6; - const real_t elMat_6_6 = q_acc_6_6; - const real_t elMat_6_7 = q_acc_6_7; - const real_t elMat_6_8 = q_acc_6_8; - const real_t elMat_6_9 = q_acc_6_9; - const real_t elMat_7_0 = q_acc_0_7; - const real_t elMat_7_1 = q_acc_1_7; - const real_t elMat_7_2 = q_acc_2_7; - const real_t elMat_7_3 = q_acc_3_7; - const real_t elMat_7_4 = q_acc_4_7; - const real_t elMat_7_5 = q_acc_5_7; - const real_t elMat_7_6 = q_acc_6_7; - const real_t elMat_7_7 = q_acc_7_7; - const real_t elMat_7_8 = q_acc_7_8; - const real_t elMat_7_9 = q_acc_7_9; - const real_t elMat_8_0 = q_acc_0_8; - const real_t elMat_8_1 = q_acc_1_8; - const real_t elMat_8_2 = q_acc_2_8; - const real_t elMat_8_3 = q_acc_3_8; - const real_t elMat_8_4 = q_acc_4_8; - const real_t elMat_8_5 = q_acc_5_8; - const real_t elMat_8_6 = q_acc_6_8; - const real_t elMat_8_7 = q_acc_7_8; - const real_t elMat_8_8 = q_acc_8_8; - const real_t elMat_8_9 = q_acc_8_9; - const real_t elMat_9_0 = q_acc_0_9; - const real_t elMat_9_1 = q_acc_1_9; - const real_t elMat_9_2 = q_acc_2_9; - const real_t elMat_9_3 = q_acc_3_9; - const real_t elMat_9_4 = q_acc_4_9; - const real_t elMat_9_5 = q_acc_5_9; - const real_t elMat_9_6 = q_acc_6_9; - const real_t elMat_9_7 = q_acc_7_9; - const real_t elMat_9_8 = q_acc_8_9; - const real_t elMat_9_9 = q_acc_9_9; + const walberla::float64 elMat_0_0 = q_acc_0_0; + const walberla::float64 elMat_0_1 = q_acc_0_1; + const walberla::float64 elMat_0_2 = q_acc_0_2; + const walberla::float64 elMat_0_3 = q_acc_0_3; + const walberla::float64 elMat_0_4 = q_acc_0_4; + const walberla::float64 elMat_0_5 = q_acc_0_5; + const walberla::float64 elMat_0_6 = q_acc_0_6; + const walberla::float64 elMat_0_7 = q_acc_0_7; + const walberla::float64 elMat_0_8 = q_acc_0_8; + const walberla::float64 elMat_0_9 = q_acc_0_9; + const walberla::float64 elMat_1_0 = q_acc_0_1; + const walberla::float64 elMat_1_1 = q_acc_1_1; + const walberla::float64 elMat_1_2 = q_acc_1_2; + const walberla::float64 elMat_1_3 = q_acc_1_3; + const walberla::float64 elMat_1_4 = q_acc_1_4; + const walberla::float64 elMat_1_5 = q_acc_1_5; + const walberla::float64 elMat_1_6 = q_acc_1_6; + const walberla::float64 elMat_1_7 = q_acc_1_7; + const walberla::float64 elMat_1_8 = q_acc_1_8; + const walberla::float64 elMat_1_9 = q_acc_1_9; + const walberla::float64 elMat_2_0 = q_acc_0_2; + const walberla::float64 elMat_2_1 = q_acc_1_2; + const walberla::float64 elMat_2_2 = q_acc_2_2; + const walberla::float64 elMat_2_3 = q_acc_2_3; + const walberla::float64 elMat_2_4 = q_acc_2_4; + const walberla::float64 elMat_2_5 = q_acc_2_5; + const walberla::float64 elMat_2_6 = q_acc_2_6; + const walberla::float64 elMat_2_7 = q_acc_2_7; + const walberla::float64 elMat_2_8 = q_acc_2_8; + const walberla::float64 elMat_2_9 = q_acc_2_9; + const walberla::float64 elMat_3_0 = q_acc_0_3; + const walberla::float64 elMat_3_1 = q_acc_1_3; + const walberla::float64 elMat_3_2 = q_acc_2_3; + const walberla::float64 elMat_3_3 = q_acc_3_3; + const walberla::float64 elMat_3_4 = q_acc_3_4; + const walberla::float64 elMat_3_5 = q_acc_3_5; + const walberla::float64 elMat_3_6 = q_acc_3_6; + const walberla::float64 elMat_3_7 = q_acc_3_7; + const walberla::float64 elMat_3_8 = q_acc_3_8; + const walberla::float64 elMat_3_9 = q_acc_3_9; + const walberla::float64 elMat_4_0 = q_acc_0_4; + const walberla::float64 elMat_4_1 = q_acc_1_4; + const walberla::float64 elMat_4_2 = q_acc_2_4; + const walberla::float64 elMat_4_3 = q_acc_3_4; + const walberla::float64 elMat_4_4 = q_acc_4_4; + const walberla::float64 elMat_4_5 = q_acc_4_5; + const walberla::float64 elMat_4_6 = q_acc_4_6; + const walberla::float64 elMat_4_7 = q_acc_4_7; + const walberla::float64 elMat_4_8 = q_acc_4_8; + const walberla::float64 elMat_4_9 = q_acc_4_9; + const walberla::float64 elMat_5_0 = q_acc_0_5; + const walberla::float64 elMat_5_1 = q_acc_1_5; + const walberla::float64 elMat_5_2 = q_acc_2_5; + const walberla::float64 elMat_5_3 = q_acc_3_5; + const walberla::float64 elMat_5_4 = q_acc_4_5; + const walberla::float64 elMat_5_5 = q_acc_5_5; + const walberla::float64 elMat_5_6 = q_acc_5_6; + const walberla::float64 elMat_5_7 = q_acc_5_7; + const walberla::float64 elMat_5_8 = q_acc_5_8; + const walberla::float64 elMat_5_9 = q_acc_5_9; + const walberla::float64 elMat_6_0 = q_acc_0_6; + const walberla::float64 elMat_6_1 = q_acc_1_6; + const walberla::float64 elMat_6_2 = q_acc_2_6; + const walberla::float64 elMat_6_3 = q_acc_3_6; + const walberla::float64 elMat_6_4 = q_acc_4_6; + const walberla::float64 elMat_6_5 = q_acc_5_6; + const walberla::float64 elMat_6_6 = q_acc_6_6; + const walberla::float64 elMat_6_7 = q_acc_6_7; + const walberla::float64 elMat_6_8 = q_acc_6_8; + const walberla::float64 elMat_6_9 = q_acc_6_9; + const walberla::float64 elMat_7_0 = q_acc_0_7; + const walberla::float64 elMat_7_1 = q_acc_1_7; + const walberla::float64 elMat_7_2 = q_acc_2_7; + const walberla::float64 elMat_7_3 = q_acc_3_7; + const walberla::float64 elMat_7_4 = q_acc_4_7; + const walberla::float64 elMat_7_5 = q_acc_5_7; + const walberla::float64 elMat_7_6 = q_acc_6_7; + const walberla::float64 elMat_7_7 = q_acc_7_7; + const walberla::float64 elMat_7_8 = q_acc_7_8; + const walberla::float64 elMat_7_9 = q_acc_7_9; + const walberla::float64 elMat_8_0 = q_acc_0_8; + const walberla::float64 elMat_8_1 = q_acc_1_8; + const walberla::float64 elMat_8_2 = q_acc_2_8; + const walberla::float64 elMat_8_3 = q_acc_3_8; + const walberla::float64 elMat_8_4 = q_acc_4_8; + const walberla::float64 elMat_8_5 = q_acc_5_8; + const walberla::float64 elMat_8_6 = q_acc_6_8; + const walberla::float64 elMat_8_7 = q_acc_7_8; + const walberla::float64 elMat_8_8 = q_acc_8_8; + const walberla::float64 elMat_8_9 = q_acc_8_9; + const walberla::float64 elMat_9_0 = q_acc_0_9; + const walberla::float64 elMat_9_1 = q_acc_1_9; + const walberla::float64 elMat_9_2 = q_acc_2_9; + const walberla::float64 elMat_9_3 = q_acc_3_9; + const walberla::float64 elMat_9_4 = q_acc_4_9; + const walberla::float64 elMat_9_5 = q_acc_5_9; + const walberla::float64 elMat_9_6 = q_acc_6_9; + const walberla::float64 elMat_9_7 = q_acc_7_9; + const walberla::float64 elMat_9_8 = q_acc_8_9; + const walberla::float64 elMat_9_9 = q_acc_9_9; std::vector< uint_t > _data_rowIdx( 10 ); std::vector< uint_t > _data_colIdx( 10 ); - std::vector< real_t > _data_mat( 100 ); + std::vector< walberla::float64 > _data_mat( 100 ); _data_rowIdx[0] = ((uint64_t)(_data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); _data_rowIdx[1] = ((uint64_t)(_data_dstVertex[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); @@ -3304,106 +3304,106 @@ void P2ElementwiseDivKGrad::toMatrix_macro_3D( idx_t * RESTRICT _data_dstEdge, - _data_mat[0] = ((real_t)(elMat_0_0)); - _data_mat[1] = ((real_t)(elMat_0_1)); - _data_mat[2] = ((real_t)(elMat_0_2)); - _data_mat[3] = ((real_t)(elMat_0_3)); - _data_mat[4] = ((real_t)(elMat_0_4)); - _data_mat[5] = ((real_t)(elMat_0_5)); - _data_mat[6] = ((real_t)(elMat_0_6)); - _data_mat[7] = ((real_t)(elMat_0_7)); - _data_mat[8] = ((real_t)(elMat_0_8)); - _data_mat[9] = ((real_t)(elMat_0_9)); - _data_mat[10] = ((real_t)(elMat_1_0)); - _data_mat[11] = ((real_t)(elMat_1_1)); - _data_mat[12] = ((real_t)(elMat_1_2)); - _data_mat[13] = ((real_t)(elMat_1_3)); - _data_mat[14] = ((real_t)(elMat_1_4)); - _data_mat[15] = ((real_t)(elMat_1_5)); - _data_mat[16] = ((real_t)(elMat_1_6)); - _data_mat[17] = ((real_t)(elMat_1_7)); - _data_mat[18] = ((real_t)(elMat_1_8)); - _data_mat[19] = ((real_t)(elMat_1_9)); - _data_mat[20] = ((real_t)(elMat_2_0)); - _data_mat[21] = ((real_t)(elMat_2_1)); - _data_mat[22] = ((real_t)(elMat_2_2)); - _data_mat[23] = ((real_t)(elMat_2_3)); - _data_mat[24] = ((real_t)(elMat_2_4)); - _data_mat[25] = ((real_t)(elMat_2_5)); - _data_mat[26] = ((real_t)(elMat_2_6)); - _data_mat[27] = ((real_t)(elMat_2_7)); - _data_mat[28] = ((real_t)(elMat_2_8)); - _data_mat[29] = ((real_t)(elMat_2_9)); - _data_mat[30] = ((real_t)(elMat_3_0)); - _data_mat[31] = ((real_t)(elMat_3_1)); - _data_mat[32] = ((real_t)(elMat_3_2)); - _data_mat[33] = ((real_t)(elMat_3_3)); - _data_mat[34] = ((real_t)(elMat_3_4)); - _data_mat[35] = ((real_t)(elMat_3_5)); - _data_mat[36] = ((real_t)(elMat_3_6)); - _data_mat[37] = ((real_t)(elMat_3_7)); - _data_mat[38] = ((real_t)(elMat_3_8)); - _data_mat[39] = ((real_t)(elMat_3_9)); - _data_mat[40] = ((real_t)(elMat_4_0)); - _data_mat[41] = ((real_t)(elMat_4_1)); - _data_mat[42] = ((real_t)(elMat_4_2)); - _data_mat[43] = ((real_t)(elMat_4_3)); - _data_mat[44] = ((real_t)(elMat_4_4)); - _data_mat[45] = ((real_t)(elMat_4_5)); - _data_mat[46] = ((real_t)(elMat_4_6)); - _data_mat[47] = ((real_t)(elMat_4_7)); - _data_mat[48] = ((real_t)(elMat_4_8)); - _data_mat[49] = ((real_t)(elMat_4_9)); - _data_mat[50] = ((real_t)(elMat_5_0)); - _data_mat[51] = ((real_t)(elMat_5_1)); - _data_mat[52] = ((real_t)(elMat_5_2)); - _data_mat[53] = ((real_t)(elMat_5_3)); - _data_mat[54] = ((real_t)(elMat_5_4)); - _data_mat[55] = ((real_t)(elMat_5_5)); - _data_mat[56] = ((real_t)(elMat_5_6)); - _data_mat[57] = ((real_t)(elMat_5_7)); - _data_mat[58] = ((real_t)(elMat_5_8)); - _data_mat[59] = ((real_t)(elMat_5_9)); - _data_mat[60] = ((real_t)(elMat_6_0)); - _data_mat[61] = ((real_t)(elMat_6_1)); - _data_mat[62] = ((real_t)(elMat_6_2)); - _data_mat[63] = ((real_t)(elMat_6_3)); - _data_mat[64] = ((real_t)(elMat_6_4)); - _data_mat[65] = ((real_t)(elMat_6_5)); - _data_mat[66] = ((real_t)(elMat_6_6)); - _data_mat[67] = ((real_t)(elMat_6_7)); - _data_mat[68] = ((real_t)(elMat_6_8)); - _data_mat[69] = ((real_t)(elMat_6_9)); - _data_mat[70] = ((real_t)(elMat_7_0)); - _data_mat[71] = ((real_t)(elMat_7_1)); - _data_mat[72] = ((real_t)(elMat_7_2)); - _data_mat[73] = ((real_t)(elMat_7_3)); - _data_mat[74] = ((real_t)(elMat_7_4)); - _data_mat[75] = ((real_t)(elMat_7_5)); - _data_mat[76] = ((real_t)(elMat_7_6)); - _data_mat[77] = ((real_t)(elMat_7_7)); - _data_mat[78] = ((real_t)(elMat_7_8)); - _data_mat[79] = ((real_t)(elMat_7_9)); - _data_mat[80] = ((real_t)(elMat_8_0)); - _data_mat[81] = ((real_t)(elMat_8_1)); - _data_mat[82] = ((real_t)(elMat_8_2)); - _data_mat[83] = ((real_t)(elMat_8_3)); - _data_mat[84] = ((real_t)(elMat_8_4)); - _data_mat[85] = ((real_t)(elMat_8_5)); - _data_mat[86] = ((real_t)(elMat_8_6)); - _data_mat[87] = ((real_t)(elMat_8_7)); - _data_mat[88] = ((real_t)(elMat_8_8)); - _data_mat[89] = ((real_t)(elMat_8_9)); - _data_mat[90] = ((real_t)(elMat_9_0)); - _data_mat[91] = ((real_t)(elMat_9_1)); - _data_mat[92] = ((real_t)(elMat_9_2)); - _data_mat[93] = ((real_t)(elMat_9_3)); - _data_mat[94] = ((real_t)(elMat_9_4)); - _data_mat[95] = ((real_t)(elMat_9_5)); - _data_mat[96] = ((real_t)(elMat_9_6)); - _data_mat[97] = ((real_t)(elMat_9_7)); - _data_mat[98] = ((real_t)(elMat_9_8)); - _data_mat[99] = ((real_t)(elMat_9_9)); + _data_mat[0] = ((walberla::float64)(elMat_0_0)); + _data_mat[1] = ((walberla::float64)(elMat_0_1)); + _data_mat[2] = ((walberla::float64)(elMat_0_2)); + _data_mat[3] = ((walberla::float64)(elMat_0_3)); + _data_mat[4] = ((walberla::float64)(elMat_0_4)); + _data_mat[5] = ((walberla::float64)(elMat_0_5)); + _data_mat[6] = ((walberla::float64)(elMat_0_6)); + _data_mat[7] = ((walberla::float64)(elMat_0_7)); + _data_mat[8] = ((walberla::float64)(elMat_0_8)); + _data_mat[9] = ((walberla::float64)(elMat_0_9)); + _data_mat[10] = ((walberla::float64)(elMat_1_0)); + _data_mat[11] = ((walberla::float64)(elMat_1_1)); + _data_mat[12] = ((walberla::float64)(elMat_1_2)); + _data_mat[13] = ((walberla::float64)(elMat_1_3)); + _data_mat[14] = ((walberla::float64)(elMat_1_4)); + _data_mat[15] = ((walberla::float64)(elMat_1_5)); + _data_mat[16] = ((walberla::float64)(elMat_1_6)); + _data_mat[17] = ((walberla::float64)(elMat_1_7)); + _data_mat[18] = ((walberla::float64)(elMat_1_8)); + _data_mat[19] = ((walberla::float64)(elMat_1_9)); + _data_mat[20] = ((walberla::float64)(elMat_2_0)); + _data_mat[21] = ((walberla::float64)(elMat_2_1)); + _data_mat[22] = ((walberla::float64)(elMat_2_2)); + _data_mat[23] = ((walberla::float64)(elMat_2_3)); + _data_mat[24] = ((walberla::float64)(elMat_2_4)); + _data_mat[25] = ((walberla::float64)(elMat_2_5)); + _data_mat[26] = ((walberla::float64)(elMat_2_6)); + _data_mat[27] = ((walberla::float64)(elMat_2_7)); + _data_mat[28] = ((walberla::float64)(elMat_2_8)); + _data_mat[29] = ((walberla::float64)(elMat_2_9)); + _data_mat[30] = ((walberla::float64)(elMat_3_0)); + _data_mat[31] = ((walberla::float64)(elMat_3_1)); + _data_mat[32] = ((walberla::float64)(elMat_3_2)); + _data_mat[33] = ((walberla::float64)(elMat_3_3)); + _data_mat[34] = ((walberla::float64)(elMat_3_4)); + _data_mat[35] = ((walberla::float64)(elMat_3_5)); + _data_mat[36] = ((walberla::float64)(elMat_3_6)); + _data_mat[37] = ((walberla::float64)(elMat_3_7)); + _data_mat[38] = ((walberla::float64)(elMat_3_8)); + _data_mat[39] = ((walberla::float64)(elMat_3_9)); + _data_mat[40] = ((walberla::float64)(elMat_4_0)); + _data_mat[41] = ((walberla::float64)(elMat_4_1)); + _data_mat[42] = ((walberla::float64)(elMat_4_2)); + _data_mat[43] = ((walberla::float64)(elMat_4_3)); + _data_mat[44] = ((walberla::float64)(elMat_4_4)); + _data_mat[45] = ((walberla::float64)(elMat_4_5)); + _data_mat[46] = ((walberla::float64)(elMat_4_6)); + _data_mat[47] = ((walberla::float64)(elMat_4_7)); + _data_mat[48] = ((walberla::float64)(elMat_4_8)); + _data_mat[49] = ((walberla::float64)(elMat_4_9)); + _data_mat[50] = ((walberla::float64)(elMat_5_0)); + _data_mat[51] = ((walberla::float64)(elMat_5_1)); + _data_mat[52] = ((walberla::float64)(elMat_5_2)); + _data_mat[53] = ((walberla::float64)(elMat_5_3)); + _data_mat[54] = ((walberla::float64)(elMat_5_4)); + _data_mat[55] = ((walberla::float64)(elMat_5_5)); + _data_mat[56] = ((walberla::float64)(elMat_5_6)); + _data_mat[57] = ((walberla::float64)(elMat_5_7)); + _data_mat[58] = ((walberla::float64)(elMat_5_8)); + _data_mat[59] = ((walberla::float64)(elMat_5_9)); + _data_mat[60] = ((walberla::float64)(elMat_6_0)); + _data_mat[61] = ((walberla::float64)(elMat_6_1)); + _data_mat[62] = ((walberla::float64)(elMat_6_2)); + _data_mat[63] = ((walberla::float64)(elMat_6_3)); + _data_mat[64] = ((walberla::float64)(elMat_6_4)); + _data_mat[65] = ((walberla::float64)(elMat_6_5)); + _data_mat[66] = ((walberla::float64)(elMat_6_6)); + _data_mat[67] = ((walberla::float64)(elMat_6_7)); + _data_mat[68] = ((walberla::float64)(elMat_6_8)); + _data_mat[69] = ((walberla::float64)(elMat_6_9)); + _data_mat[70] = ((walberla::float64)(elMat_7_0)); + _data_mat[71] = ((walberla::float64)(elMat_7_1)); + _data_mat[72] = ((walberla::float64)(elMat_7_2)); + _data_mat[73] = ((walberla::float64)(elMat_7_3)); + _data_mat[74] = ((walberla::float64)(elMat_7_4)); + _data_mat[75] = ((walberla::float64)(elMat_7_5)); + _data_mat[76] = ((walberla::float64)(elMat_7_6)); + _data_mat[77] = ((walberla::float64)(elMat_7_7)); + _data_mat[78] = ((walberla::float64)(elMat_7_8)); + _data_mat[79] = ((walberla::float64)(elMat_7_9)); + _data_mat[80] = ((walberla::float64)(elMat_8_0)); + _data_mat[81] = ((walberla::float64)(elMat_8_1)); + _data_mat[82] = ((walberla::float64)(elMat_8_2)); + _data_mat[83] = ((walberla::float64)(elMat_8_3)); + _data_mat[84] = ((walberla::float64)(elMat_8_4)); + _data_mat[85] = ((walberla::float64)(elMat_8_5)); + _data_mat[86] = ((walberla::float64)(elMat_8_6)); + _data_mat[87] = ((walberla::float64)(elMat_8_7)); + _data_mat[88] = ((walberla::float64)(elMat_8_8)); + _data_mat[89] = ((walberla::float64)(elMat_8_9)); + _data_mat[90] = ((walberla::float64)(elMat_9_0)); + _data_mat[91] = ((walberla::float64)(elMat_9_1)); + _data_mat[92] = ((walberla::float64)(elMat_9_2)); + _data_mat[93] = ((walberla::float64)(elMat_9_3)); + _data_mat[94] = ((walberla::float64)(elMat_9_4)); + _data_mat[95] = ((walberla::float64)(elMat_9_5)); + _data_mat[96] = ((walberla::float64)(elMat_9_6)); + _data_mat[97] = ((walberla::float64)(elMat_9_7)); + _data_mat[98] = ((walberla::float64)(elMat_9_8)); + _data_mat[99] = ((walberla::float64)(elMat_9_9)); mat->addValues( _data_rowIdx, _data_colIdx, _data_mat );