diff --git a/operators/CMakeLists.txt b/operators/CMakeLists.txt index 771569bcf7cfcd687349dcc5395749af762ae034..2e48830dd8e722efae750d147de6aeee9d44f841 100644 --- a/operators/CMakeLists.txt +++ b/operators/CMakeLists.txt @@ -7,3 +7,4 @@ endif() add_subdirectory(curl_curl) add_subdirectory(diffusion) add_subdirectory(div_k_grad) +add_subdirectory(mass) \ No newline at end of file diff --git a/operators/mass/CMakeLists.txt b/operators/mass/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..3f92e5d26dc62829fe32812bc381d9a5464fbc2a --- /dev/null +++ b/operators/mass/CMakeLists.txt @@ -0,0 +1,46 @@ +add_library( opgen-mass + + P1ElementwiseMass.cpp + P1ElementwiseMass.hpp +) + +if(HYTEG_BUILD_WITH_AVX AND WALBERLA_DOUBLE_ACCURACY) + target_sources(opgen-mass PRIVATE + + avx/P1ElementwiseMass_apply_macro_2D.cpp + avx/P1ElementwiseMass_apply_macro_3D.cpp + avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp + avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp + noarch/P1ElementwiseMass_toMatrix_macro_2D.cpp + noarch/P1ElementwiseMass_toMatrix_macro_3D.cpp + ) + + set_source_files_properties( + + avx/P1ElementwiseMass_apply_macro_2D.cpp + avx/P1ElementwiseMass_apply_macro_3D.cpp + avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp + avx/P1ElementwiseMass_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-mass PRIVATE + + noarch/P1ElementwiseMass_apply_macro_2D.cpp + noarch/P1ElementwiseMass_apply_macro_3D.cpp + noarch/P1ElementwiseMass_toMatrix_macro_2D.cpp + noarch/P1ElementwiseMass_toMatrix_macro_3D.cpp + noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp + noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp + ) +endif() + +if (HYTEG_BUILD_WITH_PETSC) + target_link_libraries(opgen-mass PUBLIC PETSc::PETSc) +endif () +target_compile_features(opgen-mass PUBLIC cxx_std_17) diff --git a/operators/mass/P1ElementwiseMass.cpp b/operators/mass/P1ElementwiseMass.cpp new file mode 100644 index 0000000000000000000000000000000000000000..fb1b7c15c7ba8bda49f7c03069f5fc35e6ea4212 --- /dev/null +++ b/operators/mass/P1ElementwiseMass.cpp @@ -0,0 +1,407 @@ +/* +* 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 "P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +P1ElementwiseMass::P1ElementwiseMass( const std::shared_ptr< PrimitiveStorage >& storage, size_t minLevel, size_t maxLevel ) +: Operator( storage, minLevel, maxLevel ) +{} + +void P1ElementwiseMass::apply( const P1Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType ) const +{ + // Make sure that halos are up-to-date + if ( this->storage_->hasGlobalCells() ) + { + // Note that the order of communication is important, since the face -> cell communication may overwrite + // parts of the halos that carry the macro-vertex and macro-edge unknowns. + src.communicate< Face, Cell >( level ); + src.communicate< Edge, Cell >( level ); + src.communicate< Vertex, Cell >( level ); + } + else + { + communication::syncFunctionBetweenPrimitives( src, level, communication::syncDirection_t::LOW2HIGH ); + } + + if ( updateType == Replace ) + { + // We need to zero the destination array (including halos). + // However, we must not zero out anything that is not flagged with the specified BCs. + // Therefore, we first zero out everything that flagged, and then, later, + // the halos of the highest dim primitives. + dst.interpolate( walberla::numeric_cast< real_t >( 0 ), level, flag ); + } + + if ( storage_->hasGlobalCells() ) + { + for ( auto& it : storage_->getCells() ) + { + Cell& cell = *it.second; + + // get hold of the actual numerical data in the functions + real_t* _data_src = cell.getData( src.getCellDataID() )->getPointer( level ); + real_t* _data_dst = cell.getData( dst.getCellDataID() )->getPointer( level ); + + // Zero out dst halos only + // + // This is also necessary when using update type == Add. + // During additive comm we then skip zeroing the data on the lower-dim primitives. + for ( const auto& idx : vertexdof::macrocell::Iterator( level ) ) + { + if ( !vertexdof::macrocell::isOnCellFace( idx, level ).empty() ) + { + auto arrayIdx = vertexdof::macrocell::index( level, idx.x(), idx.y(), idx.z() ); + _data_dst[arrayIdx] = real_t( 0 ); + } + } + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) cell.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) cell.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_0comp2 = (real_t) cell.getCoordinates()[0][2]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) cell.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) cell.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_1comp2 = (real_t) cell.getCoordinates()[1][2]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) cell.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) cell.getCoordinates()[2][1]; + const real_t macro_vertex_coord_id_2comp2 = (real_t) cell.getCoordinates()[2][2]; + const real_t macro_vertex_coord_id_3comp0 = (real_t) cell.getCoordinates()[3][0]; + const real_t macro_vertex_coord_id_3comp1 = (real_t) cell.getCoordinates()[3][1]; + const real_t macro_vertex_coord_id_3comp2 = (real_t) cell.getCoordinates()[3][2]; + + apply_macro_3D( + + _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 ); + } + + // Push result to lower-dimensional primitives + // + // 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 ); + } + else + { + for ( auto& it : storage_->getFaces() ) + { + 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 ); + + // Zero out dst halos only + // + // This is also necessary when using update type == Add. + // During additive comm we then skip zeroing the data on the lower-dim primitives. + for ( const auto& idx : vertexdof::macroface::Iterator( level ) ) + { + if ( vertexdof::macroface::isVertexOnBoundary( level, idx ) ) + { + auto arrayIdx = vertexdof::macroface::index( level, idx.x(), idx.y() ); + _data_dst[arrayIdx] = real_t( 0 ); + } + } + + const auto micro_edges_per_macro_edge = (int64_t) levelinfo::num_microedges_per_edge( level ); + const auto micro_edges_per_macro_edge_float = (real_t) levelinfo::num_microedges_per_edge( level ); + const real_t macro_vertex_coord_id_0comp0 = (real_t) face.getCoordinates()[0][0]; + const real_t macro_vertex_coord_id_0comp1 = (real_t) face.getCoordinates()[0][1]; + const real_t macro_vertex_coord_id_1comp0 = (real_t) face.getCoordinates()[1][0]; + const real_t macro_vertex_coord_id_1comp1 = (real_t) face.getCoordinates()[1][1]; + const real_t macro_vertex_coord_id_2comp0 = (real_t) face.getCoordinates()[2][0]; + const real_t macro_vertex_coord_id_2comp1 = (real_t) face.getCoordinates()[2][1]; + + apply_macro_2D( + + _data_dst, + _data_src, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + } + + // Push result to lower-dimensional primitives + // + // 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 ); + } +} +void P1ElementwiseMass::toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P1Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const +{ + // 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() ) + { + 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 ); + + 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]; + + toMatrix_macro_3D( + + _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, + mat, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + } + } + else + { + 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 ); + + 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]; + + toMatrix_macro_2D( + + _data_dst, + _data_src, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + mat, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + } + } +} +void P1ElementwiseMass::computeInverseDiagonalOperatorValues() +{ + if ( invDiag_ == nullptr ) + { + invDiag_ = std::make_shared< P1Function< real_t > >( "inverse diagonal entries", storage_, minLevel_, maxLevel_ ); + } + + for ( uint_t level = minLevel_; level <= maxLevel_; level++ ) + { + invDiag_->setToZero( level ); + + if ( storage_->hasGlobalCells() ) + { + 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 ); + + 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]; + + computeInverseDiagonalOperatorValues_macro_3D( + + _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 ); + } + + // Push result to lower-dimensional primitives + // + // 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 ); + } + else + { + 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 ); + + 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]; + + computeInverseDiagonalOperatorValues_macro_2D( + + _data_invDiag_, + macro_vertex_coord_id_0comp0, + macro_vertex_coord_id_0comp1, + macro_vertex_coord_id_1comp0, + macro_vertex_coord_id_1comp1, + macro_vertex_coord_id_2comp0, + macro_vertex_coord_id_2comp1, + micro_edges_per_macro_edge, + micro_edges_per_macro_edge_float ); + } + + // Push result to lower-dimensional primitives + // + // 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 ); + } + + ( *invDiag_ ).invertElementwise( level ); + } +} +std::shared_ptr< P1Function< real_t > > P1ElementwiseMass::getInverseDiagonalValues() const +{ + return invDiag_; +} + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/P1ElementwiseMass.hpp b/operators/mass/P1ElementwiseMass.hpp new file mode 100644 index 0000000000000000000000000000000000000000..f9b0bc97a5d2516558fdddc65e8e8c4064e89830 --- /dev/null +++ b/operators/mass/P1ElementwiseMass.hpp @@ -0,0 +1,190 @@ +/* +* Copyright (c) 2017-2024 Nils Kohl, Daniel Bauer, Fabian Böhm. +* +* This file is part of HyTeG +* (see https://i10git.cs.fau.de/hyteg/hyteg). +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published by +* the Free Software Foundation, either version 3 of the License, or +* (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* +* The entire file was generated with the HyTeG form generator. +* +* Avoid modifying this file. If buggy, consider fixing the generator itself. +*/ + +#pragma once + +#include "core/DataTypes.h" + +#include "hyteg/LikwidWrapper.hpp" +#include "hyteg/communication/Syncing.hpp" +#include "hyteg/edgedofspace/EdgeDoFMacroCell.hpp" +#include "hyteg/operators/Operator.hpp" +#include "hyteg/p1functionspace/P1Function.hpp" +#include "hyteg/primitivestorage/PrimitiveStorage.hpp" +#include "hyteg/solvers/Smoothables.hpp" +#include "hyteg/sparseassembly/SparseMatrixProxy.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +class P1ElementwiseMass : public Operator< P1Function< real_t >, P1Function< real_t > >, + public OperatorWithInverseDiagonal< P1Function< real_t > > +{ + public: + P1ElementwiseMass( const std::shared_ptr< PrimitiveStorage >& storage, size_t minLevel, size_t maxLevel ); + + void apply( const P1Function< real_t >& src, + const P1Function< real_t >& dst, + uint_t level, + DoFType flag, + UpdateType updateType = Replace ) const; + + void toMatrix( const std::shared_ptr< SparseMatrixProxy >& mat, + const P1Function< idx_t >& src, + const P1Function< idx_t >& dst, + uint_t level, + DoFType flag ) const; + + void computeInverseDiagonalOperatorValues(); + + std::shared_ptr< P1Function< real_t > > getInverseDiagonalValues() const; + + protected: + private: + /// Kernel type: apply + /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 27 27 0 0 0 0 0 0 + void apply_macro_2D( real_t* RESTRICT _data_dst, + 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; + /// Kernel type: apply + /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 56 56 0 0 0 0 0 0 + void apply_macro_3D( real_t* RESTRICT _data_dst, + 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; + /// Kernel type: toMatrix + /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 18 18 0 0 0 0 0 3 + void toMatrix_macro_2D( idx_t* RESTRICT _data_dst, + 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; + /// Kernel type: toMatrix + /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 40 40 0 0 0 0 0 3 + void toMatrix_macro_3D( idx_t* RESTRICT _data_dst, + 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; + /// Kernel type: computeInverseDiagonalOperatorValues + /// - quadrature rule: Xiao-Gimbutas | points: 3, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 12 9 0 0 0 0 0 0 + void computeInverseDiagonalOperatorValues_macro_2D( real_t* RESTRICT _data_invDiag_, + real_t macro_vertex_coord_id_0comp0, + real_t macro_vertex_coord_id_0comp1, + real_t macro_vertex_coord_id_1comp0, + real_t macro_vertex_coord_id_1comp1, + real_t macro_vertex_coord_id_2comp0, + real_t macro_vertex_coord_id_2comp1, + int64_t micro_edges_per_macro_edge, + real_t micro_edges_per_macro_edge_float ) const; + /// Kernel type: computeInverseDiagonalOperatorValues + /// - quadrature rule: Xiao-Gimbutas | points: 4, degree: 2 + /// - operations per element: + /// adds muls divs pows abs assignments function_calls unknown_ops + /// ------ ------ ------ ------ ----- ------------- ---------------- ------------- + /// 20 16 0 0 0 0 0 0 + void computeInverseDiagonalOperatorValues_macro_3D( real_t* RESTRICT _data_invDiag_, + 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_; +}; + +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/avx/P1ElementwiseMass_apply_macro_2D.cpp b/operators/mass/avx/P1ElementwiseMass_apply_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..84dc0a5b63e786480bff8992f0be077074f1b350 --- /dev/null +++ b/operators/mass/avx/P1ElementwiseMass_apply_macro_2D.cpp @@ -0,0 +1,234 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::apply_macro_2D( real_t * RESTRICT _data_dst, 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 +{ + { + const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + + const real_t tmp_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_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_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_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_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_det_jac_aff_0_GRAY [] = {0.44444444444444442*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111116*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111108*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777804*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777783*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.44444444444444453*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777728*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777748*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111105*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111112*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.4444444444444447*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_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) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + __m256d q_acc_0_0 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_1 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_0_2 = _mm256_set_pd(0.0,0.0,0.0,0.0); + __m256d q_acc_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GRAY[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 5]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GRAY[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 5]*_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_1_1 = q_acc_1_1 + q_tmp_1_1; + 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; + _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_0_0_BLUE = tmp_1_BLUE; + const real_t p_affine_0_1_BLUE = tmp_2_BLUE; + const real_t p_affine_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; + const real_t p_affine_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; + const real_t p_affine_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; + const real_t p_affine_2_1_BLUE = tmp_2_BLUE + tmp_4_BLUE; + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE [] = {0.44444444444444442*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111116*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111108*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777804*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777783*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.44444444444444453*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777728*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777748*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111105*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111112*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.4444444444444447*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_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) + { + const __m256d src_dof_0 = _mm256_loadu_pd(& _data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]); + const __m256d src_dof_2 = _mm256_loadu_pd(& _data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 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_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 5]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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_storeu_pd(&_data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 5]*_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_1_1 = q_acc_1_1 + q_tmp_1_1; + 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; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/avx/P1ElementwiseMass_apply_macro_3D.cpp b/operators/mass/avx/P1ElementwiseMass_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f4d527a6ad9aeb28104e0d83827624dcd697a232 --- /dev/null +++ b/operators/mass/avx/P1ElementwiseMass_apply_macro_3D.cpp @@ -0,0 +1,818 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::apply_macro_3D( real_t * RESTRICT _data_dst, 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 +{ + { + const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + + const real_t tmp_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_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_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_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_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_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_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_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_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_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_UP [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.080605154129423817*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.16356320182856121*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032410690545436126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.065767460857085305*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.13345469765676804*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.002529158472220073*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.024315138068613611*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.071333412782766975*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.059529863270376029*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.20927110365887197*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.17464298568178085*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.14574478709475508*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.12450054579698165*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.076241779079863126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.15197152472496969*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.046689023249274604*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.093064486909197122*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.18550396047976195*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.012181957275462504*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.67498144007199112*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.10160124737918669*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032807896240979378*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.015293477503478755*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_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 < (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 + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_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 __m256d src_dof_2 = _mm256_loadu_pd(& _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 __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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_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_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_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_0_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_3,q_tmp_0_3,q_tmp_0_3,q_tmp_0_3),q_acc_0_3); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_1_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_3,q_tmp_1_3,q_tmp_1_3,q_tmp_1_3),q_acc_1_3); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_2_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_3,q_tmp_2_3,q_tmp_2_3,q_tmp_2_3),q_acc_2_3); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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)); + const __m256d elMatVec_3 = _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_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _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_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; + const real_t p_affine_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; + const real_t p_affine_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; + const real_t p_affine_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; + const real_t p_affine_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; + const real_t p_affine_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; + const real_t p_affine_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; + const real_t p_affine_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; + const real_t p_affine_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; + const real_t p_affine_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; + const real_t p_affine_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; + const real_t p_affine_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_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 < (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 + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_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 __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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_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]); + __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_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_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_0_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_3,q_tmp_0_3,q_tmp_0_3,q_tmp_0_3),q_acc_0_3); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_1_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_3,q_tmp_1_3,q_tmp_1_3,q_tmp_1_3),q_acc_1_3); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_2_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_3,q_tmp_2_3,q_tmp_2_3,q_tmp_2_3),q_acc_2_3); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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)); + const __m256d elMatVec_3 = _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_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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_0_0_BLUE_UP = tmp_1_BLUE_UP; + const real_t p_affine_0_1_BLUE_UP = tmp_2_BLUE_UP; + const real_t p_affine_0_2_BLUE_UP = tmp_3_BLUE_UP; + const real_t p_affine_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; + const real_t p_affine_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; + const real_t p_affine_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; + const real_t p_affine_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; + const real_t p_affine_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; + const real_t p_affine_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; + const real_t p_affine_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_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_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_UP [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.080605154129423817*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.16356320182856121*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032410690545436126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.065767460857085305*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.13345469765676804*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.002529158472220073*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.024315138068613611*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.071333412782766975*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.059529863270376029*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.20927110365887197*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.17464298568178085*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.14574478709475508*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.12450054579698165*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.076241779079863126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.15197152472496969*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.046689023249274604*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.093064486909197122*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.18550396047976195*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.012181957275462504*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.67498144007199112*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.10160124737918669*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032807896240979378*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.015293477503478755*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_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 < (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 + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_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 __m256d src_dof_2 = _mm256_loadu_pd(& _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 __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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_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_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_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_0_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_3,q_tmp_0_3,q_tmp_0_3,q_tmp_0_3),q_acc_0_3); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_1_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_3,q_tmp_1_3,q_tmp_1_3,q_tmp_1_3),q_acc_1_3); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_2_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_3,q_tmp_2_3,q_tmp_2_3,q_tmp_2_3),q_acc_2_3); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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)); + const __m256d elMatVec_3 = _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_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _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_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; + const real_t p_affine_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; + const real_t p_affine_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; + const real_t p_affine_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; + const real_t p_affine_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; + const real_t p_affine_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; + const real_t p_affine_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_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_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_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; + const real_t p_affine_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; + const real_t p_affine_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_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 < (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 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_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 __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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_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))]); + __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_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_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_0_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_3,q_tmp_0_3,q_tmp_0_3,q_tmp_0_3),q_acc_0_3); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_1_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_3,q_tmp_1_3,q_tmp_1_3,q_tmp_1_3),q_acc_1_3); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_2_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_3,q_tmp_2_3,q_tmp_2_3,q_tmp_2_3),q_acc_2_3); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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)); + const __m256d elMatVec_3 = _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_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_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_0_0_GREEN_UP = tmp_1_GREEN_UP; + const real_t p_affine_0_1_GREEN_UP = tmp_2_GREEN_UP; + const real_t p_affine_0_2_GREEN_UP = tmp_3_GREEN_UP; + const real_t p_affine_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_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_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_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_UP; + const real_t p_affine_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; + const real_t p_affine_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; + const real_t p_affine_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; + const real_t p_affine_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; + const real_t p_affine_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_UP [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.080605154129423817*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.16356320182856121*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032410690545436126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.065767460857085305*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.13345469765676804*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.002529158472220073*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.024315138068613611*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.071333412782766975*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.059529863270376029*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.20927110365887197*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.17464298568178085*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.14574478709475508*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.12450054579698165*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.076241779079863126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.15197152472496969*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.046689023249274604*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.093064486909197122*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.18550396047976195*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.012181957275462504*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.67498144007199112*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.10160124737918669*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032807896240979378*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.015293477503478755*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_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 < (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 + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_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 __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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_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]); + __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_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_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_0_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_3,q_tmp_0_3,q_tmp_0_3,q_tmp_0_3),q_acc_0_3); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_1_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_3,q_tmp_1_3,q_tmp_1_3,q_tmp_1_3),q_acc_1_3); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_2_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_3,q_tmp_2_3,q_tmp_2_3,q_tmp_2_3),q_acc_2_3); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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)); + const __m256d elMatVec_3 = _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_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _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_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; + const real_t p_affine_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; + const real_t p_affine_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; + const real_t p_affine_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; + const real_t p_affine_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; + const real_t p_affine_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; + const real_t p_affine_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; + const real_t p_affine_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.080605154129423817*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.16356320182856121*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032410690545436126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.065767460857085305*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.13345469765676804*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.002529158472220073*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.024315138068613611*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.071333412782766975*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.059529863270376029*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.20927110365887197*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.17464298568178085*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.14574478709475508*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.12450054579698165*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.076241779079863126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.15197152472496969*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.046689023249274604*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.093064486909197122*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.18550396047976195*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.012181957275462504*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.67498144007199112*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.10160124737918669*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032807896240979378*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.015293477503478755*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_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 < (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 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]); + const __m256d src_dof_1 = _mm256_loadu_pd(& _data_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 __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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]); + const __m256d src_dof_3 = _mm256_loadu_pd(& _data_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))]); + __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_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_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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_0_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_1,q_tmp_0_1,q_tmp_0_1,q_tmp_0_1),q_acc_0_1); + q_acc_0_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_2,q_tmp_0_2,q_tmp_0_2,q_tmp_0_2),q_acc_0_2); + q_acc_0_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_3,q_tmp_0_3,q_tmp_0_3,q_tmp_0_3),q_acc_0_3); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_1_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_2,q_tmp_1_2,q_tmp_1_2,q_tmp_1_2),q_acc_1_2); + q_acc_1_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_3,q_tmp_1_3,q_tmp_1_3,q_tmp_1_3),q_acc_1_3); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_2_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_3,q_tmp_2_3,q_tmp_2_3,q_tmp_2_3),q_acc_2_3); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + const __m256d elMatVec_0 = _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)); + const __m256d elMatVec_1 = _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)); + const __m256d elMatVec_2 = _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)); + const __m256d elMatVec_3 = _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_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_0,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_1,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatVec_2,_mm256_loadu_pd(& _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatVec_3,_mm256_loadu_pd(& _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + const real_t src_dof_0 = _data_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp b/operators/mass/avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..42c8f8bdc25f5db6b2c0fe343136979c2e1838a7 --- /dev/null +++ b/operators/mass/avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp @@ -0,0 +1,186 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::computeInverseDiagonalOperatorValues_macro_2D( real_t * RESTRICT _data_invDiag_, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + + const real_t tmp_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_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_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_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_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_det_jac_aff_0_GRAY [] = {0.44444444444444442*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111116*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111108*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777804*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777783*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.44444444444444453*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777728*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777748*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111105*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111112*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.4444444444444447*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_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) + { + __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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GRAY[6*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 5]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GRAY[6*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 5]*_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; + } + 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; + _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_0_0_BLUE = tmp_1_BLUE; + const real_t p_affine_0_1_BLUE = tmp_2_BLUE; + const real_t p_affine_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; + const real_t p_affine_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; + const real_t p_affine_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; + const real_t p_affine_2_1_BLUE = tmp_2_BLUE + tmp_4_BLUE; + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE [] = {0.44444444444444442*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111116*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111108*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777804*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777783*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.44444444444444453*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777728*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777748*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111105*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111112*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.4444444444444447*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_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) + { + __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) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE[6*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 5]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + } + const __m256d elMatDiag_0 = q_acc_0_0; + const __m256d elMatDiag_1 = q_acc_1_1; + const __m256d elMatDiag_2 = q_acc_2_2; + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE[6*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 5]*_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; + } + 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; + _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]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/mass/avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5afa9028b4a2f8a331466a7510a057e777a6db30 --- /dev/null +++ b/operators/mass/avx/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -0,0 +1,554 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::computeInverseDiagonalOperatorValues_macro_3D( real_t * RESTRICT _data_invDiag_, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + + const real_t tmp_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_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_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_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_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_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_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_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_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_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_UP [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.080605154129423817*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.16356320182856121*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032410690545436126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.065767460857085305*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.13345469765676804*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.002529158472220073*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.024315138068613611*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.071333412782766975*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.059529863270376029*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.20927110365887197*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.17464298568178085*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.14574478709475508*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.12450054579698165*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.076241779079863126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.15197152472496969*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.046689023249274604*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.093064486909197122*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.18550396047976195*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.012181957275462504*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.67498144007199112*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.10160124737918669*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032807896240979378*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.015293477503478755*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_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 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 += 4) + { + __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); + for (int64_t q = 0; q < 4; q += 1) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + 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; + _mm256_storeu_pd(&_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))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _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))]))); + _mm256_storeu_pd(&_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],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _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]))); + _mm256_storeu_pd(&_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))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _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))]))); + _mm256_storeu_pd(&_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))],_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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 9]*_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; + } + 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; + _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_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; + const real_t p_affine_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; + const real_t p_affine_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; + const real_t p_affine_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; + const real_t p_affine_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; + const real_t p_affine_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; + const real_t p_affine_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; + const real_t p_affine_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; + const real_t p_affine_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; + const real_t p_affine_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; + const real_t p_affine_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; + const real_t p_affine_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_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 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 += 4) + { + __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); + for (int64_t q = 0; q < 4; q += 1) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + 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; + _mm256_storeu_pd(&_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],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _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]))); + _mm256_storeu_pd(&_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],_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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 2; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 9]*_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; + } + 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; + _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_0_0_BLUE_UP = tmp_1_BLUE_UP; + const real_t p_affine_0_1_BLUE_UP = tmp_2_BLUE_UP; + const real_t p_affine_0_2_BLUE_UP = tmp_3_BLUE_UP; + const real_t p_affine_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; + const real_t p_affine_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; + const real_t p_affine_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; + const real_t p_affine_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; + const real_t p_affine_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; + const real_t p_affine_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; + const real_t p_affine_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_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_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_UP [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.080605154129423817*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.16356320182856121*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032410690545436126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.065767460857085305*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.13345469765676804*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.002529158472220073*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.024315138068613611*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.071333412782766975*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.059529863270376029*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.20927110365887197*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.17464298568178085*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.14574478709475508*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.12450054579698165*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.076241779079863126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.15197152472496969*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.046689023249274604*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.093064486909197122*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.18550396047976195*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.012181957275462504*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.67498144007199112*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.10160124737918669*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032807896240979378*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.015293477503478755*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_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 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + __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); + for (int64_t q = 0; q < 4; q += 1) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + 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; + _mm256_storeu_pd(&_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],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _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]))); + _mm256_storeu_pd(&_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))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _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))]))); + _mm256_storeu_pd(&_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],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _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]))); + _mm256_storeu_pd(&_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],_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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 9]*_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; + } + 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; + _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_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; + const real_t p_affine_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; + const real_t p_affine_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; + const real_t p_affine_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; + const real_t p_affine_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; + const real_t p_affine_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; + const real_t p_affine_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_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_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_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; + const real_t p_affine_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; + const real_t p_affine_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_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 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + __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); + for (int64_t q = 0; q < 4; q += 1) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + 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; + _mm256_storeu_pd(&_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))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _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))]))); + _mm256_storeu_pd(&_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))],_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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatDiag_2,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 9]*_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; + } + 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; + _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_0_0_GREEN_UP = tmp_1_GREEN_UP; + const real_t p_affine_0_1_GREEN_UP = tmp_2_GREEN_UP; + const real_t p_affine_0_2_GREEN_UP = tmp_3_GREEN_UP; + const real_t p_affine_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_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_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_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_UP; + const real_t p_affine_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; + const real_t p_affine_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; + const real_t p_affine_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; + const real_t p_affine_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; + const real_t p_affine_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_UP [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.080605154129423817*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.16356320182856121*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032410690545436126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.065767460857085305*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.13345469765676804*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.002529158472220073*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.024315138068613611*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.071333412782766975*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.059529863270376029*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.20927110365887197*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.17464298568178085*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.14574478709475508*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.12450054579698165*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.076241779079863126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.15197152472496969*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.046689023249274604*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.093064486909197122*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.18550396047976195*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.012181957275462504*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.67498144007199112*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.10160124737918669*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032807896240979378*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.015293477503478755*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_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 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + __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); + for (int64_t q = 0; q < 4; q += 1) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + 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; + _mm256_storeu_pd(&_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],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _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]))); + _mm256_storeu_pd(&_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))],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _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))]))); + _mm256_storeu_pd(&_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))],_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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 9]*_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; + } + 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; + _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_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; + const real_t p_affine_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; + const real_t p_affine_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; + const real_t p_affine_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; + const real_t p_affine_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; + const real_t p_affine_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; + const real_t p_affine_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; + const real_t p_affine_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.080605154129423817*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.16356320182856121*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032410690545436126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.065767460857085305*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.13345469765676804*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.002529158472220073*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.024315138068613611*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.071333412782766975*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.059529863270376029*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.20927110365887197*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.17464298568178085*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.14574478709475508*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.12450054579698165*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.076241779079863126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.15197152472496969*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.046689023249274604*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.093064486909197122*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.18550396047976195*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.012181957275462504*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.67498144007199112*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.10160124737918669*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032807896240979378*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.015293477503478755*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_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 < (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 += 4) + { + __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); + for (int64_t q = 0; q < 4; q += 1) + { + const real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 9]*_data_q_w[q]; + q_acc_0_0 = _mm256_add_pd(_mm256_set_pd(q_tmp_0_0,q_tmp_0_0,q_tmp_0_0,q_tmp_0_0),q_acc_0_0); + q_acc_1_1 = _mm256_add_pd(_mm256_set_pd(q_tmp_1_1,q_tmp_1_1,q_tmp_1_1,q_tmp_1_1),q_acc_1_1); + q_acc_2_2 = _mm256_add_pd(_mm256_set_pd(q_tmp_2_2,q_tmp_2_2,q_tmp_2_2,q_tmp_2_2),q_acc_2_2); + q_acc_3_3 = _mm256_add_pd(_mm256_set_pd(q_tmp_3_3,q_tmp_3_3,q_tmp_3_3,q_tmp_3_3),q_acc_3_3); + } + 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; + _mm256_storeu_pd(&_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))],_mm256_add_pd(elMatDiag_0,_mm256_loadu_pd(& _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))]))); + _mm256_storeu_pd(&_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],_mm256_add_pd(elMatDiag_1,_mm256_loadu_pd(& _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]))); + _mm256_storeu_pd(&_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],_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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]))); + _mm256_storeu_pd(&_data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))],_mm256_add_pd(elMatDiag_3,_mm256_loadu_pd(& _data_invDiag_[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]))); + } + for (int64_t ctr_0 = (int64_t)((-ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1) / (4)) * (4); ctr_0 < -ctr_1 - ctr_2 + micro_edges_per_macro_edge - 1; ctr_0 += 1) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 9]*_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; + } + 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; + _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]; + _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))]; + } + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/noarch/P1ElementwiseMass_apply_macro_2D.cpp b/operators/mass/noarch/P1ElementwiseMass_apply_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ce07f9ffcbdadbeb58f9740e083d27d328717d93 --- /dev/null +++ b/operators/mass/noarch/P1ElementwiseMass_apply_macro_2D.cpp @@ -0,0 +1,164 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::apply_macro_2D( real_t * RESTRICT _data_dst, 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 +{ + { + const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + + const real_t tmp_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_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_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_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_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_det_jac_aff_0_GRAY [] = {0.44444444444444442*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111116*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111108*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777804*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777783*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.44444444444444453*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777728*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777748*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111105*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111112*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.4444444444444447*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GRAY[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 5]*_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_1_1 = q_acc_1_1 + q_tmp_1_1; + 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; + _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_0_0_BLUE = tmp_1_BLUE; + const real_t p_affine_0_1_BLUE = tmp_2_BLUE; + const real_t p_affine_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; + const real_t p_affine_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; + const real_t p_affine_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; + const real_t p_affine_2_1_BLUE = tmp_2_BLUE + tmp_4_BLUE; + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE [] = {0.44444444444444442*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111116*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111108*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777804*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777783*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.44444444444444453*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777728*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777748*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111105*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111112*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.4444444444444447*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 5]*_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_1_1 = q_acc_1_1 + q_tmp_1_1; + 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; + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1] = elMatVec_0 + _data_dst[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1] = elMatVec_2 + _data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/noarch/P1ElementwiseMass_apply_macro_3D.cpp b/operators/mass/noarch/P1ElementwiseMass_apply_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7b74b24073b6ecce2ec42ef1b045d47f8a8b1cbd --- /dev/null +++ b/operators/mass/noarch/P1ElementwiseMass_apply_macro_3D.cpp @@ -0,0 +1,518 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::apply_macro_3D( real_t * RESTRICT _data_dst, 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 +{ + { + const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + + const real_t tmp_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_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_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_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_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_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_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_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_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_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_UP [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.080605154129423817*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.16356320182856121*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032410690545436126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.065767460857085305*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.13345469765676804*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.002529158472220073*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.024315138068613611*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.071333412782766975*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.059529863270376029*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.20927110365887197*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.17464298568178085*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.14574478709475508*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.12450054579698165*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.076241779079863126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.15197152472496969*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.046689023249274604*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.093064486909197122*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.18550396047976195*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.012181957275462504*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.67498144007199112*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.10160124737918669*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032807896240979378*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.015293477503478755*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _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_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; + const real_t p_affine_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; + const real_t p_affine_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; + const real_t p_affine_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; + const real_t p_affine_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; + const real_t p_affine_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; + const real_t p_affine_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; + const real_t p_affine_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; + const real_t p_affine_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; + const real_t p_affine_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; + const real_t p_affine_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; + const real_t p_affine_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + 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_0_0_BLUE_UP = tmp_1_BLUE_UP; + const real_t p_affine_0_1_BLUE_UP = tmp_2_BLUE_UP; + const real_t p_affine_0_2_BLUE_UP = tmp_3_BLUE_UP; + const real_t p_affine_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; + const real_t p_affine_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; + const real_t p_affine_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; + const real_t p_affine_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; + const real_t p_affine_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; + const real_t p_affine_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; + const real_t p_affine_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_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_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_UP [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.080605154129423817*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.16356320182856121*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032410690545436126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.065767460857085305*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.13345469765676804*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.002529158472220073*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.024315138068613611*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.071333412782766975*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.059529863270376029*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.20927110365887197*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.17464298568178085*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.14574478709475508*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.12450054579698165*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.076241779079863126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.15197152472496969*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.046689023249274604*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.093064486909197122*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.18550396047976195*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.012181957275462504*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.67498144007199112*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.10160124737918669*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032807896240979378*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.015293477503478755*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _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_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; + const real_t p_affine_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; + const real_t p_affine_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; + const real_t p_affine_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; + const real_t p_affine_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; + const real_t p_affine_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; + const real_t p_affine_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_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_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_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; + const real_t p_affine_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; + const real_t p_affine_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_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_0_0_GREEN_UP = tmp_1_GREEN_UP; + const real_t p_affine_0_1_GREEN_UP = tmp_2_GREEN_UP; + const real_t p_affine_0_2_GREEN_UP = tmp_3_GREEN_UP; + const real_t p_affine_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_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_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_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_UP; + const real_t p_affine_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; + const real_t p_affine_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; + const real_t p_affine_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; + const real_t p_affine_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; + const real_t p_affine_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_UP [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.080605154129423817*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.16356320182856121*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032410690545436126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.065767460857085305*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.13345469765676804*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.002529158472220073*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.024315138068613611*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.071333412782766975*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.059529863270376029*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.20927110365887197*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.17464298568178085*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.14574478709475508*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.12450054579698165*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.076241779079863126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.15197152472496969*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.046689023249274604*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.093064486909197122*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.18550396047976195*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.012181957275462504*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.67498144007199112*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.10160124737918669*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032807896240979378*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.015293477503478755*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_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]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _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_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; + const real_t p_affine_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; + const real_t p_affine_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; + const real_t p_affine_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; + const real_t p_affine_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; + const real_t p_affine_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; + const real_t p_affine_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; + const real_t p_affine_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.080605154129423817*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.16356320182856121*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032410690545436126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.065767460857085305*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.13345469765676804*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.002529158472220073*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.024315138068613611*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.071333412782766975*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.059529863270376029*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.20927110365887197*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.17464298568178085*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.14574478709475508*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.12450054579698165*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.076241779079863126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.15197152472496969*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.046689023249274604*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.093064486909197122*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.18550396047976195*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.012181957275462504*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.67498144007199112*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.10160124737918669*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032807896240979378*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.015293477503478755*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_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))]; + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_0 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_1 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1] = elMatVec_2 + _data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1]; + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))] = elMatVec_3 + _data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp b/operators/mass/noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6fdbcd20c72f9d59bb6a31042cc3fe982274cf7e --- /dev/null +++ b/operators/mass/noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_2D.cpp @@ -0,0 +1,140 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::computeInverseDiagonalOperatorValues_macro_2D( real_t * RESTRICT _data_invDiag_, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + + const real_t tmp_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_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_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_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_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_det_jac_aff_0_GRAY [] = {0.44444444444444442*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111116*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111108*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777804*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777783*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.44444444444444453*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777728*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777748*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111105*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111112*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.4444444444444447*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GRAY[6*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 5]*_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; + } + 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; + _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_0_0_BLUE = tmp_1_BLUE; + const real_t p_affine_0_1_BLUE = tmp_2_BLUE; + const real_t p_affine_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; + const real_t p_affine_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; + const real_t p_affine_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; + const real_t p_affine_2_1_BLUE = tmp_2_BLUE + tmp_4_BLUE; + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE [] = {0.44444444444444442*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111116*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111108*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777804*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777783*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.44444444444444453*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777728*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777748*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111105*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111112*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.4444444444444447*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE[6*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 5]*_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; + } + 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; + _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]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp b/operators/mass/noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c7dc69dc1055d80f56e49d7ff67170eb7edf0289 --- /dev/null +++ b/operators/mass/noarch/P1ElementwiseMass_computeInverseDiagonalOperatorValues_macro_3D.cpp @@ -0,0 +1,386 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::computeInverseDiagonalOperatorValues_macro_3D( real_t * RESTRICT _data_invDiag_, real_t macro_vertex_coord_id_0comp0, real_t macro_vertex_coord_id_0comp1, real_t macro_vertex_coord_id_0comp2, real_t macro_vertex_coord_id_1comp0, real_t macro_vertex_coord_id_1comp1, real_t macro_vertex_coord_id_1comp2, real_t macro_vertex_coord_id_2comp0, real_t macro_vertex_coord_id_2comp1, real_t macro_vertex_coord_id_2comp2, real_t macro_vertex_coord_id_3comp0, real_t macro_vertex_coord_id_3comp1, real_t macro_vertex_coord_id_3comp2, int64_t micro_edges_per_macro_edge, real_t micro_edges_per_macro_edge_float ) const +{ + { + const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + + const real_t tmp_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_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_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_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_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_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_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_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_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_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_UP [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.080605154129423817*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.16356320182856121*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032410690545436126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.065767460857085305*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.13345469765676804*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.002529158472220073*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.024315138068613611*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.071333412782766975*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.059529863270376029*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.20927110365887197*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.17464298568178085*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.14574478709475508*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.12450054579698165*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.076241779079863126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.15197152472496969*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.046689023249274604*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.093064486909197122*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.18550396047976195*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.012181957275462504*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.67498144007199112*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.10160124737918669*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032807896240979378*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.015293477503478755*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 9]*_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; + } + 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; + _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_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; + const real_t p_affine_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; + const real_t p_affine_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; + const real_t p_affine_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; + const real_t p_affine_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; + const real_t p_affine_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; + const real_t p_affine_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; + const real_t p_affine_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; + const real_t p_affine_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; + const real_t p_affine_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; + const real_t p_affine_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; + const real_t p_affine_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 9]*_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; + } + 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; + _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_0_0_BLUE_UP = tmp_1_BLUE_UP; + const real_t p_affine_0_1_BLUE_UP = tmp_2_BLUE_UP; + const real_t p_affine_0_2_BLUE_UP = tmp_3_BLUE_UP; + const real_t p_affine_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; + const real_t p_affine_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; + const real_t p_affine_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; + const real_t p_affine_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; + const real_t p_affine_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; + const real_t p_affine_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; + const real_t p_affine_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_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_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_UP [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.080605154129423817*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.16356320182856121*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032410690545436126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.065767460857085305*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.13345469765676804*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.002529158472220073*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.024315138068613611*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.071333412782766975*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.059529863270376029*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.20927110365887197*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.17464298568178085*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.14574478709475508*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.12450054579698165*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.076241779079863126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.15197152472496969*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.046689023249274604*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.093064486909197122*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.18550396047976195*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.012181957275462504*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.67498144007199112*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.10160124737918669*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032807896240979378*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.015293477503478755*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 9]*_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; + } + 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; + _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_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; + const real_t p_affine_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; + const real_t p_affine_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; + const real_t p_affine_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; + const real_t p_affine_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; + const real_t p_affine_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; + const real_t p_affine_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_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_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_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; + const real_t p_affine_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; + const real_t p_affine_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 9]*_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; + } + 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; + _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_0_0_GREEN_UP = tmp_1_GREEN_UP; + const real_t p_affine_0_1_GREEN_UP = tmp_2_GREEN_UP; + const real_t p_affine_0_2_GREEN_UP = tmp_3_GREEN_UP; + const real_t p_affine_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_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_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_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_UP; + const real_t p_affine_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; + const real_t p_affine_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; + const real_t p_affine_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; + const real_t p_affine_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; + const real_t p_affine_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_UP [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.080605154129423817*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.16356320182856121*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032410690545436126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.065767460857085305*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.13345469765676804*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.002529158472220073*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.024315138068613611*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.071333412782766975*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.059529863270376029*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.20927110365887197*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.17464298568178085*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.14574478709475508*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.12450054579698165*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.076241779079863126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.15197152472496969*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.046689023249274604*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.093064486909197122*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.18550396047976195*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.012181957275462504*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.67498144007199112*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.10160124737918669*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032807896240979378*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.015293477503478755*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 9]*_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; + } + 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; + _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_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; + const real_t p_affine_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; + const real_t p_affine_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; + const real_t p_affine_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; + const real_t p_affine_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; + const real_t p_affine_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; + const real_t p_affine_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; + const real_t p_affine_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.080605154129423817*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.16356320182856121*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032410690545436126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.065767460857085305*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.13345469765676804*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.002529158472220073*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.024315138068613611*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.071333412782766975*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.059529863270376029*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.20927110365887197*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.17464298568178085*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.14574478709475508*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.12450054579698165*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.076241779079863126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.15197152472496969*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.046689023249274604*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.093064486909197122*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.18550396047976195*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.012181957275462504*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.67498144007199112*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.10160124737918669*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032807896240979378*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.015293477503478755*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 9]*_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; + } + 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; + _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]; + _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))]; + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/noarch/P1ElementwiseMass_toMatrix_macro_2D.cpp b/operators/mass/noarch/P1ElementwiseMass_toMatrix_macro_2D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7182ce1b5679760ab407be1bac12a4463699deda --- /dev/null +++ b/operators/mass/noarch/P1ElementwiseMass_toMatrix_macro_2D.cpp @@ -0,0 +1,220 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::toMatrix_macro_2D( idx_t * RESTRICT _data_dst, 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 +{ + { + const real_t _data_q_w [] = {0.16666666666666674, 0.16666666666666674, 0.16666666666666674}; + + const real_t tmp_0_GRAY = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_GRAY = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_GRAY = macro_vertex_coord_id_0comp1; + const real_t p_affine_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_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_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_2_1_GRAY = macro_vertex_coord_id_0comp1 + tmp_0_GRAY*(-macro_vertex_coord_id_0comp1 + macro_vertex_coord_id_2comp1); + { + /* FaceType.GRAY */ + const real_t _data_phi_psi_det_jac_aff_0_GRAY [] = {0.44444444444444442*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111116*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111108*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777804*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777783*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.44444444444444453*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.1111111111111111*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777728*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777748*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111105*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.027777777777777766*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.11111111111111112*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_1_1_GRAY)), 0.4444444444444447*abs((-p_affine_0_0_GRAY + p_affine_1_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_2_1_GRAY) - (-p_affine_0_0_GRAY + p_affine_2_0_GRAY)*(-p_affine_0_1_GRAY + p_affine_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GRAY[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GRAY[6*q + 5]*_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_1_1 = q_acc_1_1 + q_tmp_1_1; + 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; + + std::vector< uint_t > _data_rowIdx( 3 ); + std::vector< uint_t > _data_colIdx( 3 ); + std::vector< real_t > _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])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[0] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2))])); + _data_colIdx[1] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_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)); + + + 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_0_0_BLUE = tmp_1_BLUE; + const real_t p_affine_0_1_BLUE = tmp_2_BLUE; + const real_t p_affine_1_0_BLUE = macro_vertex_coord_id_0comp0 + tmp_3_BLUE; + const real_t p_affine_1_1_BLUE = macro_vertex_coord_id_0comp1 + tmp_4_BLUE; + const real_t p_affine_2_0_BLUE = tmp_1_BLUE + tmp_3_BLUE; + const real_t p_affine_2_1_BLUE = tmp_2_BLUE + tmp_4_BLUE; + { + /* FaceType.BLUE */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE [] = {0.44444444444444442*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111116*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111108*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777804*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777783*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.44444444444444453*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.1111111111111111*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777728*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777748*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111105*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.027777777777777766*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.11111111111111112*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_1_1_BLUE)), 0.4444444444444447*abs((-p_affine_0_0_BLUE + p_affine_1_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_2_1_BLUE) - (-p_affine_0_0_BLUE + p_affine_2_0_BLUE)*(-p_affine_0_1_BLUE + p_affine_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE[6*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 2]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 4]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE[6*q + 5]*_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_1_1 = q_acc_1_1 + q_tmp_1_1; + 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; + + std::vector< uint_t > _data_rowIdx( 3 ); + std::vector< uint_t > _data_colIdx( 3 ); + std::vector< real_t > _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))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_src[ctr_0 + ctr_1*(micro_edges_per_macro_edge + 2) - ((ctr_1*(ctr_1 + 1)) / (2)) + 1])); + _data_colIdx[1] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2))])); + _data_colIdx[2] = ((uint64_t)(_data_src[ctr_0 + (ctr_1 + 1)*(micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + 1])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_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)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg diff --git a/operators/mass/noarch/P1ElementwiseMass_toMatrix_macro_3D.cpp b/operators/mass/noarch/P1ElementwiseMass_toMatrix_macro_3D.cpp new file mode 100644 index 0000000000000000000000000000000000000000..7e605a50397958560ac41725b087a3f181fd7ea8 --- /dev/null +++ b/operators/mass/noarch/P1ElementwiseMass_toMatrix_macro_3D.cpp @@ -0,0 +1,764 @@ +/* +* 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 "../P1ElementwiseMass.hpp" + +#define FUNC_PREFIX + +namespace hyteg { + +namespace operatorgeneration { + +void P1ElementwiseMass::toMatrix_macro_3D( idx_t * RESTRICT _data_dst, 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 +{ + { + const real_t _data_q_w [] = {0.050086823222829389, 0.046462929447761279, 0.05318232258357912, 0.016934591412496786}; + + const real_t tmp_0_WHITE_UP = 1.0 / (micro_edges_per_macro_edge_float)*1.0; + const real_t p_affine_0_0_WHITE_UP = macro_vertex_coord_id_0comp0; + const real_t p_affine_0_1_WHITE_UP = macro_vertex_coord_id_0comp1; + const real_t p_affine_0_2_WHITE_UP = macro_vertex_coord_id_0comp2; + const real_t p_affine_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_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_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_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_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_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_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_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_3_2_WHITE_UP = macro_vertex_coord_id_0comp2 + tmp_0_WHITE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2); + { + /* CellType.WHITE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_UP [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.080605154129423817*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.16356320182856121*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032410690545436126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.065767460857085305*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.13345469765676804*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.002529158472220073*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.024315138068613611*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.071333412782766975*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.059529863270376029*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.20927110365887197*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.17464298568178085*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.14574478709475508*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.12450054579698165*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.076241779079863126*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.15197152472496969*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.046689023249274604*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.093064486909197122*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.18550396047976195*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.012181957275462504*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.67498144007199112*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.10160124737918669*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.032807896240979378*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.015293477503478755*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_1_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_3_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_2_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_3_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_2_WHITE_UP) + (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_1_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_2_2_WHITE_UP) - (p_affine_0_0_WHITE_UP - p_affine_3_0_WHITE_UP)*(p_affine_0_1_WHITE_UP - p_affine_2_1_WHITE_UP)*(p_affine_0_2_WHITE_UP - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 4 ); + std::vector< real_t > _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])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_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))])); + _data_colIdx[1] = ((uint64_t)(_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])); + _data_colIdx[2] = ((uint64_t)(_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))])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_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)); + + + 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_0_0_WHITE_DOWN = tmp_3_WHITE_DOWN; + const real_t p_affine_0_1_WHITE_DOWN = tmp_6_WHITE_DOWN; + const real_t p_affine_0_2_WHITE_DOWN = tmp_9_WHITE_DOWN; + const real_t p_affine_1_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_2_WHITE_DOWN; + const real_t p_affine_1_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_5_WHITE_DOWN; + const real_t p_affine_1_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_8_WHITE_DOWN; + const real_t p_affine_2_0_WHITE_DOWN = macro_vertex_coord_id_0comp0 + tmp_10_WHITE_DOWN + tmp_1_WHITE_DOWN; + const real_t p_affine_2_1_WHITE_DOWN = macro_vertex_coord_id_0comp1 + tmp_11_WHITE_DOWN + tmp_4_WHITE_DOWN; + const real_t p_affine_2_2_WHITE_DOWN = macro_vertex_coord_id_0comp2 + tmp_12_WHITE_DOWN + tmp_7_WHITE_DOWN; + const real_t p_affine_3_0_WHITE_DOWN = tmp_10_WHITE_DOWN + tmp_3_WHITE_DOWN; + const real_t p_affine_3_1_WHITE_DOWN = tmp_11_WHITE_DOWN + tmp_6_WHITE_DOWN; + const real_t p_affine_3_2_WHITE_DOWN = tmp_12_WHITE_DOWN + tmp_9_WHITE_DOWN; + { + /* CellType.WHITE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_WHITE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_1_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_3_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_2_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_3_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_2_WHITE_DOWN) + (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_1_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_2_2_WHITE_DOWN) - (p_affine_0_0_WHITE_DOWN - p_affine_3_0_WHITE_DOWN)*(p_affine_0_1_WHITE_DOWN - p_affine_2_1_WHITE_DOWN)*(p_affine_0_2_WHITE_DOWN - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_WHITE_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 4 ); + std::vector< real_t > _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])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_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])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[2] = ((uint64_t)(_data_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))])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_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)); + + + 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_0_0_BLUE_UP = tmp_1_BLUE_UP; + const real_t p_affine_0_1_BLUE_UP = tmp_2_BLUE_UP; + const real_t p_affine_0_2_BLUE_UP = tmp_3_BLUE_UP; + const real_t p_affine_1_0_BLUE_UP = macro_vertex_coord_id_0comp0 + tmp_4_BLUE_UP; + const real_t p_affine_1_1_BLUE_UP = macro_vertex_coord_id_0comp1 + tmp_5_BLUE_UP; + const real_t p_affine_1_2_BLUE_UP = macro_vertex_coord_id_0comp2 + tmp_6_BLUE_UP; + const real_t p_affine_2_0_BLUE_UP = tmp_1_BLUE_UP + tmp_4_BLUE_UP; + const real_t p_affine_2_1_BLUE_UP = tmp_2_BLUE_UP + tmp_5_BLUE_UP; + const real_t p_affine_2_2_BLUE_UP = tmp_3_BLUE_UP + tmp_6_BLUE_UP; + const real_t p_affine_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_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_3_2_BLUE_UP = tmp_0_BLUE_UP*(-macro_vertex_coord_id_0comp2 + macro_vertex_coord_id_3comp2) + tmp_3_BLUE_UP; + { + /* CellType.BLUE_UP */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_UP [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.080605154129423817*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.16356320182856121*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032410690545436126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.065767460857085305*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.13345469765676804*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.002529158472220073*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.024315138068613611*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.071333412782766975*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.059529863270376029*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.20927110365887197*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.17464298568178085*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.14574478709475508*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.12450054579698165*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.076241779079863126*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.15197152472496969*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.046689023249274604*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.093064486909197122*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.18550396047976195*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.012181957275462504*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.67498144007199112*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.10160124737918669*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.032807896240979378*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.015293477503478755*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_1_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_3_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_2_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_3_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_2_BLUE_UP) + (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_1_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_2_2_BLUE_UP) - (p_affine_0_0_BLUE_UP - p_affine_3_0_BLUE_UP)*(p_affine_0_1_BLUE_UP - p_affine_2_1_BLUE_UP)*(p_affine_0_2_BLUE_UP - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 4 ); + std::vector< real_t > _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))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) - (((-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)*(-ctr_2 + micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_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])); + _data_colIdx[1] = ((uint64_t)(_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))])); + _data_colIdx[2] = ((uint64_t)(_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])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_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)); + + + 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_0_0_BLUE_DOWN = tmp_1_BLUE_DOWN; + const real_t p_affine_0_1_BLUE_DOWN = tmp_2_BLUE_DOWN; + const real_t p_affine_0_2_BLUE_DOWN = tmp_3_BLUE_DOWN; + const real_t p_affine_1_0_BLUE_DOWN = tmp_5_BLUE_DOWN; + const real_t p_affine_1_1_BLUE_DOWN = tmp_7_BLUE_DOWN; + const real_t p_affine_1_2_BLUE_DOWN = tmp_9_BLUE_DOWN; + const real_t p_affine_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_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_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_3_0_BLUE_DOWN = tmp_1_BLUE_DOWN + tmp_4_BLUE_DOWN; + const real_t p_affine_3_1_BLUE_DOWN = tmp_2_BLUE_DOWN + tmp_6_BLUE_DOWN; + const real_t p_affine_3_2_BLUE_DOWN = tmp_3_BLUE_DOWN + tmp_8_BLUE_DOWN; + { + /* CellType.BLUE_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_BLUE_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.080605154129423817*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.16356320182856121*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032410690545436126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.065767460857085305*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.13345469765676804*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.002529158472220073*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.024315138068613611*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.071333412782766975*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.059529863270376029*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.20927110365887197*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.17464298568178085*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.14574478709475508*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.12450054579698165*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.076241779079863126*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.15197152472496969*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.046689023249274604*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.093064486909197122*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.18550396047976195*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.012181957275462504*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.67498144007199112*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.10160124737918669*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.032807896240979378*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.015293477503478755*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_1_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_3_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_2_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_3_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_2_BLUE_DOWN) + (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_1_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_2_2_BLUE_DOWN) - (p_affine_0_0_BLUE_DOWN - p_affine_3_0_BLUE_DOWN)*(p_affine_0_1_BLUE_DOWN - p_affine_2_1_BLUE_DOWN)*(p_affine_0_2_BLUE_DOWN - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_BLUE_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 4 ); + std::vector< real_t > _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))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_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))])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[2] = ((uint64_t)(_data_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])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_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)); + + + 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_0_0_GREEN_UP = tmp_1_GREEN_UP; + const real_t p_affine_0_1_GREEN_UP = tmp_2_GREEN_UP; + const real_t p_affine_0_2_GREEN_UP = tmp_3_GREEN_UP; + const real_t p_affine_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_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_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_2_0_GREEN_UP = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_UP; + const real_t p_affine_2_1_GREEN_UP = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_UP; + const real_t p_affine_2_2_GREEN_UP = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_UP; + const real_t p_affine_3_0_GREEN_UP = tmp_1_GREEN_UP + tmp_4_GREEN_UP; + const real_t p_affine_3_1_GREEN_UP = tmp_2_GREEN_UP + tmp_5_GREEN_UP; + const real_t p_affine_3_2_GREEN_UP = tmp_3_GREEN_UP + tmp_6_GREEN_UP; + { + /* CellType.GREEN_UP */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_UP [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.080605154129423817*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.16356320182856121*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032410690545436126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.065767460857085305*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.13345469765676804*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.002529158472220073*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.024315138068613611*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.071333412782766975*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.059529863270376029*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.20927110365887197*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.17464298568178085*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.14574478709475508*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.12450054579698165*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.076241779079863126*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.15197152472496969*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.046689023249274604*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.093064486909197122*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.18550396047976195*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.012181957275462504*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.67498144007199112*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.10160124737918669*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.032807896240979378*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.015293477503478755*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_1_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_3_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_2_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_3_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_2_GREEN_UP) + (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_1_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_2_2_GREEN_UP) - (p_affine_0_0_GREEN_UP - p_affine_3_0_GREEN_UP)*(p_affine_0_1_GREEN_UP - p_affine_2_1_GREEN_UP)*(p_affine_0_2_GREEN_UP - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_UP[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 4 ); + std::vector< real_t > _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))])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[0] = ((uint64_t)(_data_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])); + _data_colIdx[1] = ((uint64_t)(_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))])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[3] = ((uint64_t)(_data_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])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_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)); + + + 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_0_0_GREEN_DOWN = tmp_1_GREEN_DOWN; + const real_t p_affine_0_1_GREEN_DOWN = tmp_2_GREEN_DOWN; + const real_t p_affine_0_2_GREEN_DOWN = tmp_3_GREEN_DOWN; + const real_t p_affine_1_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_4_GREEN_DOWN; + const real_t p_affine_1_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_5_GREEN_DOWN; + const real_t p_affine_1_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_6_GREEN_DOWN; + const real_t p_affine_2_0_GREEN_DOWN = macro_vertex_coord_id_0comp0 + tmp_4_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_2_1_GREEN_DOWN = macro_vertex_coord_id_0comp1 + tmp_5_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_2_2_GREEN_DOWN = macro_vertex_coord_id_0comp2 + tmp_6_GREEN_DOWN + tmp_9_GREEN_DOWN; + const real_t p_affine_3_0_GREEN_DOWN = tmp_1_GREEN_DOWN + tmp_7_GREEN_DOWN; + const real_t p_affine_3_1_GREEN_DOWN = tmp_2_GREEN_DOWN + tmp_8_GREEN_DOWN; + const real_t p_affine_3_2_GREEN_DOWN = tmp_3_GREEN_DOWN + tmp_9_GREEN_DOWN; + { + /* CellType.GREEN_DOWN */ + const real_t _data_phi_psi_det_jac_aff_0_GREEN_DOWN [] = {0.20046443821120821*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.080605154129423817*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.16356320182856121*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0030997579321792282*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032410690545436126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.065767460857085305*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0012463879784202093*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.13345469765676804*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.002529158472220073*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 4.793119080794062e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 2.3424983832091605e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00075470637742922845*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0022140849621758063*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018477200224347493*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.024315138068613611*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.071333412782766975*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.059529863270376029*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.20927110365887197*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.17464298568178085*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.14574478709475508*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.12450054579698165*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.076241779079863126*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00013249910677232994*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.15197152472496969*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.046689023249274604*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 8.1139946513070487e-5*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.093064486909197122*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 1.4101153680155925e-7*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00016173496390708763*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.18550396047976195*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00021985802016328927*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.012181957275462504*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0018336830929379926*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.00059211167385993745*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.67498144007199112*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.10160124737918669*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.032807896240979378*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.015293477503478755*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0049383923528547903*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN)), 0.0015946483738042757*abs((p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_1_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_3_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_2_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_3_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_2_GREEN_DOWN) + (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_1_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_2_2_GREEN_DOWN) - (p_affine_0_0_GREEN_DOWN - p_affine_3_0_GREEN_DOWN)*(p_affine_0_1_GREEN_DOWN - p_affine_2_1_GREEN_DOWN)*(p_affine_0_2_GREEN_DOWN - p_affine_1_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) + { + 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 real_t q_tmp_0_0 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q]*_data_q_w[q]; + const real_t q_tmp_0_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 1]*_data_q_w[q]; + const real_t q_tmp_0_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 2]*_data_q_w[q]; + const real_t q_tmp_0_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 3]*_data_q_w[q]; + const real_t q_tmp_1_1 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 4]*_data_q_w[q]; + const real_t q_tmp_1_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 5]*_data_q_w[q]; + const real_t q_tmp_1_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 6]*_data_q_w[q]; + const real_t q_tmp_2_2 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 7]*_data_q_w[q]; + const real_t q_tmp_2_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 8]*_data_q_w[q]; + const real_t q_tmp_3_3 = _data_phi_psi_det_jac_aff_0_GREEN_DOWN[10*q + 9]*_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_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_2_2 = q_acc_2_2 + q_tmp_2_2; + 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; + + std::vector< uint_t > _data_rowIdx( 4 ); + std::vector< uint_t > _data_colIdx( 4 ); + std::vector< real_t > _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])); + _data_rowIdx[2] = ((uint64_t)(_data_dst[ctr_0 + ctr_1*(-ctr_2 + micro_edges_per_macro_edge + 1) - ((ctr_1*(ctr_1 + 1)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_rowIdx[3] = ((uint64_t)(_data_dst[ctr_0 + (ctr_1 + 1)*(-ctr_2 + micro_edges_per_macro_edge + 1) - (((ctr_1 + 1)*(ctr_1 + 2)) / (2)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6))])); + _data_colIdx[0] = ((uint64_t)(_data_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))])); + _data_colIdx[1] = ((uint64_t)(_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])); + _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)) - (((-ctr_2 + micro_edges_per_macro_edge)*(-ctr_2 + micro_edges_per_macro_edge + 1)*(-ctr_2 + micro_edges_per_macro_edge + 2)) / (6)) + (((micro_edges_per_macro_edge + 1)*(micro_edges_per_macro_edge + 2)*(micro_edges_per_macro_edge + 3)) / (6)) + 1])); + _data_colIdx[3] = ((uint64_t)(_data_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))])); + + /* Apply basis transformation */ + + + + _data_mat[0] = ((real_t)(elMat_0_0)); + _data_mat[1] = ((real_t)(elMat_0_1)); + _data_mat[2] = ((real_t)(elMat_0_2)); + _data_mat[3] = ((real_t)(elMat_0_3)); + _data_mat[4] = ((real_t)(elMat_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)); + + + mat->addValues( _data_rowIdx, _data_colIdx, _data_mat ); + } + } + } +} +} // namespace operatorgeneration + +} // namespace hyteg